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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Чем лушче делать Web scraping

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
mstdmstd
Отправлено: 19 Октября, 2017 - 10:00:13
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Всем привет,
У меня есть некоторый опыт Web scraping-а с помошью регулярок но сам убеждался что не все сайты регуляркам по зубам
очень хвалят SimpleHTMLDOM
А как из вашего опыта ? есть ли что 100% для всех сайтов ?

Спасибо!


Отредактировано модератором: Мелкий, 19 Октября, 2017 - 10:24:16
Стороннюю ссылку удалил
 
 Top
teleoperator27
Отправлено: 19 Октября, 2017 - 10:59:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




phpQuery
 
My status
 Top
mstdmstd
Отправлено: 19 Октября, 2017 - 14:45:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Ткните плиз у 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 можно установить програмно или как-то побороть это ограничение?
 
 Top
teleoperator27
Отправлено: 19 Октября, 2017 - 15:07:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




mstdmstd пишет:
И MAX_FILE_SIZE выводит 600000 то есть больше моего файла
600000 ЧЕГО? байт, килобайт, мегабайт, гигабайт?
mstdmstd пишет:
Ткните плиз у phpQuery - есть предел по размеру переданного файла(строки) ?
не знаю, я такой ерундой не занимаюсь.
 
My status
 Top
lamokk
Отправлено: 23 Октября, 2017 - 14:50:55
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




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

Добавьте нолик или пару, все начнет работать, сталкивался с такой же проблемой.
 
 Top
mstdmstd
Отправлено: 28 Октября, 2017 - 10:59:16
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Я вот немного поработал с phpQuery - и мне показалось, что он заметно медленее чем регулярка? Или нет?
 
 Top
LIME
Отправлено: 28 Октября, 2017 - 11:23:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




mstdmstd пишет:
Или нет?
да
формируется dom целиком
(Добавление)
серебряной пули не бывает
за функциональность расплачиваемся ресурсами
(Добавление)
если надо ф-ность но при этом желательно ускорится, распараллель задачу
запусти процесс на каждом ядре проца
(Добавление)
а еще надо учесть что в реальной задаче быстродействие упрется скорее в сеть чем в процесс
 
 Top
mstdmstd
Отправлено: 02 Ноября, 2017 - 17:17:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Спасибо за разьяснения !
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?
Нет ли чего подобного?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB