
Vlad
07.02.2018
23:40:16
позволяет по быстрому работать рил тайм над кодом, рил диал но щит как грится, не понятно вроде только сколько максимум человек одновременно может работать над кодом, 3 точно а больше не знаю

Dika
07.02.2018
23:40:21

Vlad
08.02.2018
00:08:37
мах, там эти бэтаверсии и танцы с бубном для пользования, нужно записи авторизации сканы члена \ влагалища (нужное подчеркнуть) почему нельзя дать возможность свободного пользования и просто собирать статистику, с виндой же вон нормально схема работает и тут чего

TheRainwildsKeeper
08.02.2018
07:10:12

Google

Pavel
08.02.2018
08:37:26
кто подскажет про регэсп. есть вот такая команда for div_content_index in div_index:gmatch("<div id=\"content\"(.-)</div>") do
парсю html
но она останавливается на вложенном </div>
а их там есть
как это обойти?
нужно чтобы захватывался полный блок div

Vasiliy
08.02.2018
08:40:59
https://stackoverflow.com/a/1732454
в кратце - не надо парсить html с помощью регэкспов

Pavel
08.02.2018
08:45:19
плохо...
а может можно как-то закостылить?
у меня простая страничка

Vasiliy
08.02.2018
08:54:21
библиотеки можно подключать? возьми какой-нибудь https://craigbarnes.gitlab.io/lua-gumbo/
вдруг страничка усложнится, или там пробелы какие-нибудь появятся внезапно? должны быть веские основния чтобы костылить )

Google

Vasiliy
08.02.2018
08:57:07
основания навроде таких, что сишные модули мешают подключать - эмбеддед, редкие платформы, кастомный интерпретатор

Pavel
08.02.2018
09:00:49
у меня один файл lua - он мелкий и грузится из C++ кода динамически
большие либы добавлять - их нужно тогда в один файл сливать

Ilya
08.02.2018
09:06:23
Подключи маленькую %)
https://github.com/leite/pumakira
А вообще это типичный случай, когда у человека есть проблема - он хочет решить ее с помощью регэкспов, и теперь у него две проблемы, лол.

Pavel
08.02.2018
10:31:18
? это точно
пока придумал один костыль - нашел на странице уникальный блок
по нему вырежу нужную часть
просто парсер ведь обрабатывает всю старницу - и жрет много ресурсов
а мне нужно из нее вырезать всего чуток

Snusmumriken
08.02.2018
11:02:32
Есть смешной варик, такой же как поиск скобочек:
1. Нашли div
2. Мотаем дальше, ищем новые открывающие и закрывающие div'ы. Когда находим открывающий - прибавляем к счётчику единичку, когда находим закрывающий - вычитаем ту же единичку.
3. Находим закрывающий div когда счётчик равен нулю? Вот типа и он.

Vadim
08.02.2018
11:48:16


Pavel
08.02.2018
11:49:51
я смотрел этот парсер - но мен нужна локальная задачка. всю страницу разбирать не нужно
достаотчно вырезать определенную часть
пока подобрал вот такой костыль
function GetPage0(p_body)
for q_table in p_body:gmatch("<table id=\"details\"(.-)</table>") do
for ind in q_table:gmatch("<tr(.-)</tr>") do
if ind then
for td_index in ind:gmatch("<td?.-)</td>") do
— for b_name in ind:gmatch("<b><u>О фильме:</u></b><br /?.-)<br />") do
for b_name in ind:gmatch("</u></b><br /?.-)<br />") do
print(b_name)
end
for b_index in td_index:gmatch("<b?.-)<br />") do
print(b_index)
end
end
— table.insert (mas, ("%sHEADER"):format(header_name))
— table.insert (glob_mas, mas)
end
end
end
return glob_mas
end
русские буквы почему-то не пашут )
но без них тоже пока сойдет
я нашел в стринице уникальный кусок = где нет вложенныз div

Google

Vadim
08.02.2018
11:51:52
потому что кодировка страницы и твоего кода в редакторе различается.

Pavel
08.02.2018
11:52:24
возможно из-за кодировки...
счас попробую поправить
вообще я парсю вот такого типа страницы http://fast-bit.org/torrent/612124/zdravstvuj-papa-novyj-god!-2_daddys-home-2-2017-bdrip-ot-megapeer-itunes
там много мусора
а мне нужно то вытащить только описание киношек
тянуть полноценный парсер html я думаю тут лишнее?
страница у меня в utf а lua я пишу в 1251
переводить весь с крипт в utf ? а конкретно нельзя указать чтобы имено эта строка бралась в utf нельзя?
вот тут - for b_name in ind:gmatch("<b><u>О фильме:</u></b><br /?.-)<br />") do

Vadim
08.02.2018
11:59:11
Конвертируй файл в UTF-8 и всё.
Луа разберет введенную строку побайтово, и вводи/ищи хоть эмоджи.
2) Да, тянуть парсер. Зачем:
Они меняют пару div-ов и тебе надо перекостыливать пол скрипта.
с htmlparser'ом ты за пару минут хоть новый сайт можешь добавить. И в зависимости от того, как напишешь (css selectors) у тебя может ничего не сломаться при изменении сайта

Pavel
08.02.2018
12:02:12
это треккер торрентов - им некогда менять в сайте ) div -они от блокировок бегают.
за год ничего не меняли в структуре
вот добавление нового - это да плюс

Tverd
08.02.2018
12:57:38
Кто хочет заработать? Люди готовы платить за биндинги к Godot
I'll donate $1000 if someone has a working and fully documented binding for Lua.
https://godotdevelopers.org/forum/discussion/18552/if-someone-make-a-binding-to-luajit-for-godot-i-throw-a-lot-of-dollars-to-his-face

Elias
08.02.2018
13:11:25
Это довольно немного для такого проекта, на самом деле. Особенно учитывая то, что он просит полную документацию, ага ?

Tverd
08.02.2018
13:34:45
Дык никто и не говорит что этого на всю жизнь хватит ))))) Подзаработать )
К тому же реализованы биндинги к питону и ниму, думаю что не сильно сложно это реализовать для луа

Elias
08.02.2018
13:38:04
Возможно ?
Самое страшное - возьмешься за это, а какой-нибудь индус или китаец за пару недель напишут...

Google

Snusmumriken
08.02.2018
13:41:53
Хех, неплохо. И на самом деле не очень сложно, просто очень муторно.

Elias
08.02.2018
13:43:46
Ага, вот то, что это займет очень много времени отталкивает в первую очередь.

Vitaly
08.02.2018
16:18:58
Привет! Может кто ткнуть на алгоритм для deep merge двух таблиц?

Evgeniy
09.02.2018
10:22:30
Заипало это навязывание яндекс-браузера. ФСБшный проект какой-то

Georgy
09.02.2018
10:23:09
попробуй Кок-Кок

mihacooper
09.02.2018
10:26:37

Evgeniy
09.02.2018
10:27:02

Elias
09.02.2018
10:29:03
Скачивай страницы через wget и читай в emacs

Evgeniy
09.02.2018
10:29:20

Elias
09.02.2018
10:31:10
??
Референс к тому, что Столлман как-то писал, что он так делает.

Aiwan ╭∩╮ (òÓ,) ╭∩╮
09.02.2018
10:47:23

Philipp
09.02.2018
18:05:31
https://i.imgur.com/JiTsZJG.png
0_o
3.2
Знает кто нормальную lz-декомпрессор?

Snusmumriken
09.02.2018
19:33:50
Тебе на pure-lua или ты можешь написать ffi-биндинг?
Блин, на самом деле где-то болтался, но глубоко закопан: копипастил код пачками, смотрел что работает.

Philipp
09.02.2018
20:39:48

Roman
09.02.2018
20:57:21
А насколько дорого пересечение ffi?

Snusmumriken
09.02.2018
20:58:28
Цена - отрицательна. Нужно только иметь нужную виртуальную машину/расширение.

Google

Roman
09.02.2018
21:30:11

Snusmumriken
09.02.2018
21:30:42
Колбеки - небесплатные и довольно медленные, но тебе их надо использовать раз в тыщу лет под очень специфические вещи.

Roman
09.02.2018
21:30:47
мои наблюдения в pypy говорят о том же: 40ns vs 53ns на вызов ф-ии

Snusmumriken
09.02.2018
21:31:12
Хмм. Лады.

Roman
09.02.2018
21:31:36

Snusmumriken
09.02.2018
21:32:24
Колбеки? Ты знаешь что это в данном контексте?
Это вызов lua-функций на сишной стороне.
Типа знаешь? Передаёшь в сишную функцию указатель на луа-функцию, и она там типа дёргается с некоторой периодичностью.
С какой частотой тебе нужно такое?

Roman
09.02.2018
21:34:02


Snusmumriken
09.02.2018
21:34:56
Вот именно.
Вызов функций чуть сложнее, потому что разные функции сами по себе с разной скоростью работают, ща подберу что-нибудь.
Но в общем, суть ясна, надеюсь?
Вызов сишной функции вообще не даёт оверхеда, инфа сотка.
Функции стандартной библиотеки вызываются аналогичным образом.
Все table.insert и print - это сишные функции. Ffi делает биндинг других сишных функций (какие ты хочешь) в себя.
А вот сам по себе, сишный код быстрее, особенно на всяких deflate и прочих простых работах с буферами, поэтому цена - отрицательна.
Луа, при работе со строками, создаёт кучу новых строк в строковом буфере, строки в луа - иммутабельны.
А вот в сишке - простые массивы которые можно спокойно читать/изменять по одному символу. Прирост скорости чудовищный.
Миллионы вызовов в секунду? За милую душу.
http://luajit.org/ext_ffi.html

Roman
09.02.2018
22:24:53
итого 2.0384938716888 0.34296894073486