↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
uncle Crassius
6 ноября 2019
Aa Aa
ReFeRy
Выложи плиз исходники Ф2Ф на github, если не жалко, конечно.
Мы конечно уже пользуемся https://github.com/p0ody/ff2ebook но там не все есть.
6 ноября 2019
10 комментариев из 16
Ага, это как раз
https://github.com/Imangazaliev/DiDOM/wiki/Сравнение-с-другими-парсерами-(1.6.3)

Условия тестирования:

Все парсеры устанавливаются через менеджер пакетов Composer
Задача парсеров - получить из HTML все элементы по определенному селектору и вывести их текстовое содержимое

Парсить будем заголовки постов Хабра (habr.com). Всего нужно обработать 1000 файлов размером чуть больше 100 kb, общий размер всех файлов составляет приблизительно 130 Mb, все файлы пронумерованы от 0 до 999.

Код для тестирования: […]


В любом случае, удобней какой-нить подобной библиотекой выдирать по DOM, чем парсить регекспами. Имхо, разумеется.
Wave
Библиотек хватает, но их преимущества... а так и не понял :)
Возможно, преимущества очевидны тем, кто так и не осилил синтаксис регулярок. В остальном же - любой редизайн или перестановка элементов ломает, что регулярку, что парсер на библиотеке. По скорости работы, возможно, на миллионах циклов будет существенная разница и то не факт, что в пользу библиотек, ибо я беру из страницы только то, что мне нужно, а библиотека обязательно разбирает всю структуру каждой страницы - все менюшки, весь дизайн. Вот красота и понятность кода, тут первенство за библиотеками, но мне важнее выполнение задачи, а в собственном коде я уж разберусь, когда надо будет что-то изменить.
Как будто перестановки и редизайн не ломают разбор регулярками. Если глянуть на подобный ужас:
if (preg_match('/<td style= \'font-variant:small-caps;\'> Автор:<\/td><td>(.*?)<\/td>/ius', $fic['head'], $matches2))

Не, я тебя понимаю, дубовые простые надёжные способы — наш бро. Но ты сам писал когда-то, что когда устраивался на работу и сказал на собеседовании, что не владеешь даже ООП, с тебя офигели и не поняли, зачем ты вообще туда пришёл. И т.д.
Wave
Но ты сам писал когда-то, что когда устраивался на работу и сказал на собеседовании, что не владеешь даже ООП, с тебя офигели и не поняли, зачем ты вообще туда пришёл. И т.д.
Год назад. Тимлид так растеряно отложил листочек с вопросами и сказал, что даже не знает, о чем меня тогда спрашивать. Хорошо, что кроме него там же был более опытный товарищ - поговорили о моем опыте и навыках. Через три дня я вышел на работу, у них оказалось очень много работы именно для меня, а не для современных джунов, знающих только фреймворки.
То есть, ты всё-таки будешь отрицать полезность использования ООП, паттернов, средств командной разработки, деплоя, тестирования, контроля версий и тому подобного?
Wave
Конечно, нет. Я лишь считаю, что в некоторых случаях можно всё это и не использовать.
Ого, что я пропустил. Склонил себе, на всякий случай.

ReFeRy, преимущество использования библиотек для парсинга DOM в том, что они не сломаются, если в разметку добавятся новые аттрибуты, например, а твоя регулярка — сломается. Да даже вон из примера выше, если шрифт изменят, то работать регулярка твоя уже не будет.
Styx
Тут все очень спорно, поменять можно много что. Регулярки тоже можно по-разному писать. Я особо не заморачивался. Собственно, вы оба похоже невнимательно прочитали тот мой комментарий - я не писал, что регулярки устойчивее к изменениям кода, я писал, что библиотеки не имеют в этом отношении особого преимущества.
преимущество использования библиотек для парсинга DOM в том, что они не сломаются, если в разметку добавятся новые аттрибуты, например, а твоя регулярка — сломается.
Как будто через библиотеку всегда получится выбирать элементы... как? По содержимому - далеко не всегда и не оптимально. По id - очень редко они есть и тоже легко могут быть изменены. Шрифт на сайте меняется куда реже, чем добавляются просто новые элементы на страницу или перемещаются имеющиеся.
ReFeRy, xpath, например. А шрифт может и не меняться, может пробел добавиться, или точка с запятой убраться — и всё, регулярка уже не работает. Они вообще не совсем для этого.
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть