Задать вопрос
@cryp24

Зависает curl или почему иногда возвращаются пустые результаты?

Вообщем ситуация такая при парсинге одного сайта, возникла проблема следующего характера, иногда прилетают пустые ответы, редко, может из 20 - один. Парсинг идет через проксю мультикурлом(но всего 5 запросов). Первые мысли были что отваливается прокся, либо сайт как то временно банит отдачу. Переделал скрипт чтоб проверял проксю перед парсингом, проблема осталась. После чего реализовал цикл подмены проксей если возвращается пустой результат и в конце каждого цикла поставил слип 12 сек, на случай если сайт временно блокирует отдачу. В итоге скрипт работает по схеме: парсит страницу, если пришел пустой ответ ждет 12 сек далее подмена прокси, ее проверка, вторая попытка спарсить и так 5 раз если не удается. Проблема осталась! я вижу как прокси подменяются но ответ не приходит, но если по завершению скрипта его сразу же запустить то скрипт отработает и получит ответ. Прихожу к выводу что зависает курл именно в работающем скрипте, неважно сколько раз его пустить через цикл он все равно не сработает. В чем может быть проблема ?
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
Xakki
@Xakki
PHP-backendчик
Вероятно, сайт который парсиш, обрубает коннекты сверх лимита.
Я так понимаю у тебя одновременно по 5 запросов? Можно поробовать уменьшить это до 1-2?
Возможно стоит уменьшить частоту запросов. Обычно на нормальных серверах стоят правила для ipset, чтоб рубить наглых сканеров.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы