2015-09-19 8 views
0

Я использую cURL для получения некоторых элементов с другого сайта. Проблема в том, что другой сайт загружает элементы, которые мне нужны, через 1-2 секунды. Поэтому я не получаю их через cURL.php cURL, ждать перед возвратом сайта

Есть ли способ сделать cURL подождать пару секунд на другом сайте, прежде чем возвращать его мне?

+0

попытайтесь выяснить, где загружается контент и загружать содержимое напрямую с помощью curl. – Paedow

+0

Вам нужно установить более высокий тайм-аут: http://php.net/manual/en/function.curl-setopt.php CURLOPT_TIMEOUT. Но он все равно вернется, когда другой сайт вернет свой контент. – dmitry

ответ

0

Если содержание, которое вы хотите получить появляется с задержкой, то, скорее всего, получить с помощью вызова AJAX.

Используйте средства разработки своего браузера, чтобы проверить звонки AJAX (XHR). Например, если вы используете Google Chrome, нажмите F12 (или cmd + alt + I на Mac) и откройте панель «Сеть».

Нажмите XHR для фильтрации по запросам AJAX. Откройте/обновите страницу и нажмите на результаты, чтобы узнать, какой вызов содержит нужные вам данные. Затем используйте свой URL-адрес в запросе curl для извлечения ваших данных.

0

Если сайт загружает контент после загрузки страницы, то, вероятно, это означает, что он использует отдельные запросы ajax (JavaScript) для извлечения этого содержимого.

Вам нужно будет эмулировать эти запросы, используя завиток или что-то еще ... Используйте инструменты для разработчиков браузера, чтобы точно определить, какие запросы выполняются. Вам также, вероятно, придется проанализировать исходную страницу для некоторых параметров, а затем выполнить вызов curl.

Смежные вопросы