Задержка загрузки PHP cURL - PullRequest
1 голос
/ 06 января 2011

Моя проблема в том, что мне нужно cURL-загрузить страницу, которая использует поиск на основе Ajax, чтобы получить результаты этого поиска.И мне нужно организовать задержку между curl_exec() и возвратом значения.Другими словами, мне нужно выполнить curl_exec() не менее 5 секунд.sleep(), кажется, останавливает выполнение curl и не работает.Буду очень признателен за любую подсказку или подсказку

UPD Я не знаю, как, но на этой странице http://vkontakte.ru/gsearch.php?section=video&q=sample&name=1,, но для доступа к нему требуется учетная запись, ДЕЛАЕТ захватить выполненный поискАяксомНо если страница загружается слишком долго, Ajax возвращает ошибку "action was too fast".Так что мне просто нужно продлить выполнение локона.Извините, если неясно.

Ответы [ 3 ]

1 голос
/ 06 января 2011

Curl не может перехватить запрос ajax.Может быть, вы можете проксифицировать ответ с помощью скрипта Python, который использует модуль webkit?(https://trac.webkit.org/wiki/PythonGuidelines)

0 голосов
/ 06 января 2011

Когда вы свернете страницу, вы получите ответ html.Любое изменение, которое javascript внесет в html, не производится в течение какого-то времени - это изменение, внесенное браузером.

То, что вы можете попытаться сделать, это найти фрагмент кода, который выполняет запрос информации внутриваш html (как упомянул Serg ikS, использующий FireBug).А затем выполните вторую загрузку.

Некоторые веб-сайты делают эти запросы настолько загадочными, насколько это возможно, чтобы предотвратить скрининг информации на экране, поэтому это может быть не так просто.

Надеюсь, что это поможет.

ОБНОВЛЕНИЕ

Я попытался воспроизвести вашу ошибку безуспешно.Я могу войти, и html отображает все результаты ... Единственное, что я замечаю, это то, что он иногда выполняется довольно медленно.

Здесь я проанализировал все результаты поиска (используя php / cURL):

(нажмите, чтобы увеличить) image

0 голосов
/ 06 января 2011

Используйте FireBug (см. Вкладку Net) или другой инструмент, чтобы захватить запрос Ajax и просто вместо этого свернуть данные запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...