Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.07.2014, 12:35
|
|||
|---|---|---|---|
|
|||
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
Есть система извлечения данных с сайтов и их парсинга, сейчас работает на regexp'ах - для каждого сайта своя регулярка и лежит в БД. В связи с необходимостью извлечения сложных данных и их формирования, регулярки уже не подходят, необходимо нечто более функциональное, но что-бы сам шаблон извлечения и форматирования был в БД. Смотрел в сторону XML::LibXSLT - был бы идеальный вариант, если бы проходили не валидные HTML-страницы(а сайты именно такие). Можно делать на самом же Perl через eval, код разбора грузить из БД, но не безопасно, мало ли что там в шаблоне прописано будет. Ещё как вариант встраиваемый JS с jQuery, есть сомнения по производительности(т.к. потоков разбора несколько сотен) и совместимости с Coro(используется для многопоточности). Возможно посоветуете вариант? Задача такая парсить html по шаблону с возможностью формирования данных в нужном формате и организации циклов, условий, сам шаблон должен быть в виде строки(в БД, файле) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2014, 13:07
|
|||
|---|---|---|---|
|
|||
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
C невалидным Html помогло Код: php 1. 2. для XML::LibXML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2014, 02:37
|
|||
|---|---|---|---|
|
|||
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
GysЕ Можно делать на самом же Perl через eval, код разбора грузить из БД, но не безопасно, мало ли что там в шаблоне прописано будет. создавай шаблон с контрольной суммой, при считывании проверяй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2014, 12:56
|
|||
|---|---|---|---|
|
|||
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
volodin661GysЕ Можно делать на самом же Perl через eval, код разбора грузить из БД, но не безопасно, мало ли что там в шаблоне прописано будет. создавай шаблон с контрольной суммой, при считывании проверяй. Не понял сути, что это даст? Если доступ к редактированию шаблона имеют люди, не имеющие полного доступа к системе. Используя XSL они не могут выйти за рамки задачи шаблонов, а если был-бы eval то как контрольная сумма тут бы спасла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2014, 13:47
|
|||
|---|---|---|---|
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
автормало ли что там в шаблоне прописано будет. Да все просто - увольте этих программистов-вредителей. Откуда там этот код должен браться? Все другие случаи типа "так уж в индустрии принято, разделяем и властвуем" только ограничивают вашу эффективность в ущерб непонятно чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2014, 13:48
|
|||
|---|---|---|---|
|
|||
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
Gys, я понял так, что требуется обезопаситься от случайного/намеренного изменения шаблона, находящегося в БД без возможности контроля доступа к последнему. поэтому и был такой совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2014, 14:02
|
|||
|---|---|---|---|
Парсинг HTML по шаблону(Perl) |
|||
|
#18+
Gysдля XML::LibXSLT Допустим, есть еще Web::Scraper. Вещь созданная исключительно для парсинга и невалидные страницы она прекрасно брала с самого рождения. Однако, есть вероятность, что для "совсем уж невалидных" страниц вы не сможете написать xpath-выражения выбирающие нужные данные. Такое встречается. Кроме того, некоторые сайты просто проще парсить комбинированным методом xpath + preg. Так что вы все равно придете либо к созданию собственного языка правил либо к хранению кода в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=23&mobile=1&tid=1462641]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 351ms |

| 0 / 0 |
