Парсинг HTML на Lua и вывод информации в игре

Dmitriy Makarov

25.05.2021
Автор темы
Проверенный
2,478
1,113
Версия MoonLoader
.026-beta
Думаю, по заголовку поняли..
Можно ли мелкий пример как спарсить этот текст на Lua и вывести по команде в консоль в игре?
Дальше сам попробую разобраться. Просто нигде не встречал чтобы для сампа делали парсер
Screenshot_1.png
 

Receiver

🥩 Передай meat, всё в скип, я в темпе
Проверенный
597
818
Lua:
function zalupka()
    requests = require 'requests';

    response = requests.get("www.site.com");

    local resp = response.text;
    print(resp); -- Фулл код страницы
    local start = string.find(resp, "<span class=\"post__title-text\">"); -- Начало <span>
    local start_exploded = string.sub(resp, start, string.len(resp)-start); -- Начало <span> + код
    local _end = string.find(start_exploded, "</span>"); -- Конец </span>
    local text = string.sub(resp, start, _end);
    print(text);
end
сразу говорю: я не проверял работоспособность, но по идее должно быть так
 
  • Эм
Реакции: Lance_Sterling

Dmitriy Makarov

25.05.2021
Автор темы
Проверенный
2,478
1,113
Lua:
function zalupka()
    requests = require 'requests';

    response = requests.get("www.site.com");

    local resp = response.text;
    print(resp); -- Фулл код страницы
    local start = string.find(resp, "<span class=\"post__title-text\">"); -- Начало <span>
    local start_exploded = string.sub(resp, start, string.len(resp)-start); -- Начало <span> + код
    local _end = string.find(start_exploded, "</span>"); -- Конец </span>
    local text = string.sub(resp, start, _end);
    print(text);
end
сразу говорю: я не проверял работоспособность, но по идее должно быть так
Что-то пошло не так.)
Код:
[ML] (script) testscript.lua: <!DOCTYPE html>
<html lang="ru" class="no-js">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta content='width=1024' name='viewport'>
<title>ПарÑеры, обработка текÑта. ПроÑто о Ñложном. CFG, BNF, LL(k), LR(k), PEG и другие Ñтрашные Ñлова / Хабр</title>

  <meta name="description" content="Ðаверное, каждому программиÑту приходилоÑÑŒ ÑталкиватьÑÑ Ñ Ð·Ð°Ð´Ð°Ñ‡Ð°Ð¼Ð¸ вида «прочитать что-то в формате Ри произвеÑти Ñ Ð½Ð¸Ð¼ некие манипулÑции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то..." />

  <meta name="keywords" content="парÑеры, LL, LR, BNF, CFG, PEG, разбор текÑта" />

  <meta property="fb:app_id" content="444736788986613" />
<meta property="og:type" content="article" />
<meta property="fb:pages" content="472597926099084"/>
<meta property="og:url" content="https://habr.com/ru/post/348314/" />
<meta property="og:title" content="ПарÑеры, обработка текÑта. ПроÑто о Ñложном. CFG, BNF, LL(k), LR(k), PEG и другие Ñтрашные Ñлова" />

    <meta property="og:image" content="https://habr.com/share/publication/348314/e7fb344e6fb826ad72d31ec4bb24971a/?v=1" />
    <meta property="og:image:width" content="1200"/>
    <meta property="og:image:height" content="630"/>
    <link rel="image_src" href="https://habr.com/share/publication/348314/e7fb344e6fb826ad72d31ec4bb24971a/?v=1" />
    <meta name="twitter:image" content="https://habr.com/share/publication/348314/e7fb344e6fb826ad72d31ec4bb24971a/?v=1">
      <meta property="vk:image"  content="https://habr.com/share/publication/348314/e7fb344e6fb826ad72d31ec4bb24971a/?format=vk&v=1" />

<meta property="og:description" content="Ðаверное, каждому программиÑту приходилоÑÑŒ ÑталкиватьÑÑ Ñ Ð·Ð°Ð´Ð°Ñ‡Ð°Ð¼Ð¸ вида &laquo;прочитать что-то в формате Ри произвеÑти Ñ Ð½Ð¸Ð¼ некие манипулÑции&raquo;. Будь то json, логи n..." />
<meta name="twitter:description" content="Ðаверное, каждому программиÑту приходилоÑÑŒ ÑталкиватьÑÑ Ñ Ð·Ð°Ð´Ð°Ñ‡Ð°Ð¼Ð¸ вида &laquo;прочитать что-то в формате Ри произвеÑти Ñ Ð½Ð¸Ð¼ некие манипулÑции&raquo;. Будь то json, логи n...">
<meta name="twitter:title" content="ПарÑеры, обработка текÑта. ПроÑто о Ñложном. CFG, BNF, LL(k), LR(k), PEG и другие Ñтрашные Ñлова" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@habr_com" />

  <meta property="al:android:url" content="habrahabr://post/348314" />
<meta property="al:android:app_name" content="Habrahabr" />
<meta property="al:android:package" content="ru.habrahabr" />
<meta property="al:windows_phone:url" content="habrahabr://post/348314" />
<meta property="al:windows_phone:app_name" content="Habrahabr" />
<meta property="al:windows_phone:app_id" content="460a6bd6-8955-470f-935e-9ea1726a6060" />

  <link rel="canonical" href="https://habr.com/ru/post/348314/"/>
  <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.habr.com/ru/post/348314/" >


    <script type="application/ld+json">
      {
    "@context": "http:\/\/schema.org",
    "@type": "Article",
    "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https:\/\/habr.com\/ru\/post\/348314\/"
    },
    "headline": "ПарÑеры, обработка текÑта. ПроÑто о Ñложном. CFG, BNF, LL(k), LR(k), PEG и другие Ñтрашные Ñлова",
    "datePublished": "2018-02-05T15:03:15+03:00",
    "dateModified": "2018-02-06T07:55:54+03:00",
    "author": {
        "@type": "Person",
        "name": "Михаиú(
[ML] (error) testscript.lua: D:\GTA San Andreas Multiplayer\moonloader\testscript.lua:18: attempt to perform arithmetic on local 'start' (a nil value)
stack traceback:
    D:\GTA San Andreas Multiplayer\moonloader\testscript.lua:18: in function <D:\GTA San Andreas Multiplayer\moonloader\testscript.lua:10>
[ML] (error) testscript.lua: Script died due to an error. (0AE96864)
Есть знающий?
 
Последнее редактирование: