Lua parsing

TieXoP

Известный
Автор темы
134
27
Версия MoonLoader
Другое
Доброго времени суток. Задался идеей парсинга html.
По средствам функции "asyncHttpRequest" из этой темы и использования регуляторок пытался выцепить имена профилей...
bandicam 2022-07-07 02-32-31-841.jpg

Осилил только получение одного названия профиля( Возможно из-за регуляторок ). Думаю есть какой-то способ получать все имеющиеся имена посредствам использования цикла "for" с заданным html классом. Однако осилить это у меня не получилось.

Так вот. Вопросы...
1.Как спарсить все имена?
2.Как собирать информацию из определенного вида класса(подкласса)?
 

moreveal

Известный
Проверенный
914
613
антиддос ведь будет мешать, а вообще функцию string.gmatch используй, она "выцепляет" все совпадения по очереди
чот тип этого:
Lua:
for class, dir, itemprop in response:gmatch("class=\"(.-)\" dir=\"(.-)\" itemprop=\"(.-)\"") do
    print(class, dir, itemprop)
end
 
  • Нравится
Реакции: TieXoP

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,907
1,282
1.Как спарсить все имена?
Lua:
-- для примера, в твоем случае в document должна быть страница
local document = [[
    <span class="username--style6">Heroku</span>
    <span class="username--style4 username--staff username--moderator">No Feeling</span>
    <span class="username--style3 username--staff username--moderator username--admin">FYP</span>
]]

for name in document:gmatch('<span class="username.->(.-)</span>') do
    print(name)
end
1657153138763.png
 
  • Нравится
Реакции: TieXoP

TieXoP

Известный
Автор темы
134
27
Lua:
-- для примера, в твоем случае в document должна быть страница
local document = [[
    <span class="username--style6">Heroku</span>
    <span class="username--style4 username--staff username--moderator">No Feeling</span>
    <span class="username--style3 username--staff username--moderator username--admin">FYP</span>
]]

for name in document:gmatch('<span class="username.->(.-)</span>') do
    print(name)
end
Посмотреть вложение 155897
антиддос ведь будет мешать, а вообще функцию string.gmatch используй, она "выцепляет" все совпадения по очереди
чот тип этого:
Lua:
for class, dir, itemprop in response:gmatch("class=\"(.-)\" dir=\"(.-)\" itemprop=\"(.-)\"") do
    print(class, dir, itemprop)
end
Да же не знаю, кто из Вас больший демон) Оба решения - супер! Пока оставлю "не решено", ибо уверен, что еще вопросы будут. Пока только "пальцы вверх") Огромное спасибо, ребят. Уже есть над чем работать.
Что касаемо подклассов... Есть ли методы сужения рамок работы? Или я заморачиваюсь и это не нужно?