Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Чем лушче делать Web scraping
Форумы портала PHP.SU » » Вопросы новичков » Чем лушче делать Web scraping

Страниц (1): [1]
 

1. mstdmstd - 19 Октября, 2017 - 10:00:13 - перейти к сообщению
Всем привет,
У меня есть некоторый опыт Web scraping-а с помошью регулярок но сам убеждался что не все сайты регуляркам по зубам
очень хвалят SimpleHTMLDOM
А как из вашего опыта ? есть ли что 100% для всех сайтов ?

Спасибо!
2. teleoperator27 - 19 Октября, 2017 - 10:59:18 - перейти к сообщению
phpQuery
3. mstdmstd - 19 Октября, 2017 - 14:45:42 - перейти к сообщению
Ткните плиз у phpQuery - есть предел по размеру переданного файла(строки) ?

2) Я пробовал по ссылке выше и подключив файл 'simple_html_dom.php';
я передаю в функцию str_get_html($html_code)
содержимое файла в 667 KiB и получаю false
лезу в код этой функции и вижу ограничение
PHP:
скопировать код в буфер обмена
  1. if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
  2. {
  3.  

И MAX_FILE_SIZE выводит 600000 то есть больше моего файла

В моем локальном php.ini
CODE (htmlphp):
скопировать код в буфер обмена
  1. upload_max_filesize = 400M


Так тоже не помогает:
CODE (htmlphp):
скопировать код в буфер обмена
  1. ini_set('upload_max_filesize', '400M');
  2. include 'simple_html_dom.php';
  3.  

Этот параметр MAX_FILE_SIZE можно установить програмно или как-то побороть это ограничение?
4. teleoperator27 - 19 Октября, 2017 - 15:07:09 - перейти к сообщению
mstdmstd пишет:
И MAX_FILE_SIZE выводит 600000 то есть больше моего файла
600000 ЧЕГО? байт, килобайт, мегабайт, гигабайт?
mstdmstd пишет:
Ткните плиз у phpQuery - есть предел по размеру переданного файла(строки) ?
не знаю, я такой ерундой не занимаюсь.
5. lamokk - 23 Октября, 2017 - 14:50:55 - перейти к сообщению
Цитата:
И MAX_FILE_SIZE выводит 600000 то есть больше моего файла

Добавьте нолик или пару, все начнет работать, сталкивался с такой же проблемой.
6. mstdmstd - 28 Октября, 2017 - 10:59:16 - перейти к сообщению
Я вот немного поработал с phpQuery - и мне показалось, что он заметно медленее чем регулярка? Или нет?
7. LIME - 28 Октября, 2017 - 11:23:45 - перейти к сообщению
mstdmstd пишет:
Или нет?
да
формируется dom целиком
(Добавление)
серебряной пули не бывает
за функциональность расплачиваемся ресурсами
(Добавление)
если надо ф-ность но при этом желательно ускорится, распараллель задачу
запусти процесс на каждом ядре проца
(Добавление)
а еще надо учесть что в реальной задаче быстродействие упрется скорее в сеть чем в процесс
8. mstdmstd - 02 Ноября, 2017 - 17:17:48 - перейти к сообщению
Спасибо за разьяснения !
1)А не подскажите из своего опыта часто ли сайты не парсятся используя phpQuery ?

2) Какие средства отладки вы используете ? То есть, ес лия выбираю содержимое span-а:
PHP:
скопировать код в буфер обмена
  1. $pricePQO= $pqContainerDiv->find('div#olp_feature_div > div.a-spacing-small > span');
  2. $pqPrice = pq($pricePQO);
  3.  
выводя $pricePQO / $pqPrice средствами dump, var_dump - я не получаю полезной информации.
То есть хотелось бы видеть найден ли данный элемент(не написал ли я ошибочный класс)
и может быть выделить(открыть по умолчанию для нодов) html для span-а или href для img?
Нет ли чего подобного?

 

Powered by ExBB FM 1.0 RC1