Подскажие по парсингу

12
bay_ebook
На сайте с 28.05.2010
Offline
111
1353

В общем, что-то или я туплю, или задача интересная.

Суть - нужно спарсить страницу, но данные на ней не сразу отдаются, а выводятся по мере обработки

Скорее всего:


ob_start()
ob_flush()
ob_clean()

Есть какие-тов варианты на php спарсить такую страницу?

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
C
На сайте с 04.02.2005
Offline
277
#1

вы говорите о парсинге внешней страницы?

Тогда вас не должно беспокоить, как там отдается контент

построчно, или через буфер

fsou1
На сайте с 17.07.2012
Offline
45
#2
Chukcha:
вы говорите о парсинге внешней страницы?

Тогда вас не должно беспокоить, как там отдается контент
построчно, или через буфер

cURL'ом AJAX подгрузка парситься, не подскажите?

bay_ebook
На сайте с 28.05.2010
Offline
111
#3
Chukcha:
вы говорите о парсинге внешней страницы?

Тогда вас не должно беспокоить, как там отдается контент
построчно, или через буфер

Да вот как раз беспокоит.

Если смотреть браузером - видим сначала загрузку заглавия таблицы с данными, потом каждую секунду догружается строка. А вот через curl получаю только заглавие, а строк нету, curl завершает работу, не дожидаясь, пока весь буфер выведется.

fsou1:
cURL'ом AJAX подгрузка парситься, не подскажите?

Аякса там нет, простой буферный вывод.

C
На сайте с 04.02.2005
Offline
277
#4

Если правильно послать ajax запрос, то да.

Ведь по сути запросы отличаются немного в заголовках, а если серверная сторона не проверяет HTTP_X_REQUESTED_WITH, то тем более.

Аякс может посылать как и get, так и post, соответственно и нужно формировать нужный запрос.

---------- Добавлено 13.12.2012 в 16:31 ----------

bay_ebook, увеличьте CURLOPT_TIMEOUT

D
На сайте с 14.01.2007
Offline
153
#5
bay_ebook:
Аякса там нет, простой буферный вывод.

или простой вывод данных хранящихся в JS массиве

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#6

В HTML посмотрите, если там вообще ваши строки. А то уже парсить размахнулись не проверив сайт.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
bay_ebook
На сайте с 28.05.2010
Offline
111
#7
Chukcha:
увеличьте CURLOPT_TIMEOUT

Не помогает, так как curl считает ,что если был поток данных, и данные не поступают - то закрывает соединение

Dinozavr:
или простой вывод данных хранящихся в JS массиве

нет, там не js

LEOnidUKG:
В HTML посмотрите, если там вообще ваши строки. А то уже парсить размахнулись не проверив сайт.

Смотрел, есть. Там именно html, но вывод не стразу а с буфера.

D
На сайте с 14.01.2007
Offline
153
#8

дайте что-ли урл (тут или в личку), аж интересно стало

---------- Добавлено 13.12.2012 в 16:01 ----------

действительно, сервер держит всё время открытое соединение. все 10-20 мин, или сколько ему надо, чтобы вывести всё.

идиотизм, но как его обойти даже не знаю:)

siv1987
На сайте с 02.04.2009
Offline
427
#9
bay_ebook:
Если смотреть браузером - видим сначала загрузку заглавия таблицы с данными, потом каждую секунду догружается строка. А вот через curl получаю только заглавие, а строк нету, curl завершает работу, не дожидаясь, пока весь буфер выведется.

По идее курл должен завершить работу когда сервер закроет соединение. Имхо сомнительно чтобы он отсоединялся на первом потоке. Действительно, скинули бы ссылку что-ли

IL
На сайте с 20.04.2007
Offline
435
#10
bay_ebook:
Не помогает, так как curl считает ,что если был поток данных, и данные не поступают - то закрывает соединение

Ещё есть

CURLOPT_LOW_SPEED_TIME

CURLOPT_LOW_SPEED_LIMIT

p.s. Присоединяюсь к вопрошающим о ссылке :)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий