При парсинге одного сайта на битрикс через некоторое время происходит возврат «400» ошибки от сервера. Кто-нибудь занимался им и может подсказать как более хитро маскироваться под пользователя?
Интервал между запросами поставил в 2 секунды, а результат всегда один и тот же — 200 элементов и 400 ошибка
Мне кажется это не от того что сервер палит что вы ходите, можете сделать рэндомный интервал от 2-х до 5-ти секунд чтоб проверить, может быть сервак просто глючит =)
На счет глючит — не могу точно сказать, потому что проверял те ссылки, которые с 400 ошибкой — они работают и существуют. Интервал в пять секунд. Надо будет попробовать.
Помимо DOWNLOAD_DELAY и USER_AGENT, что я полагаю вы уже меняли, попробуйте уменьшить эти настройки CONCURRENT_ITEMS, CONCURRENT_REQUESTS_PER_SPIDER, CONCURRENT_SPIDERS.
282, а не 200? Уже лучше… Просто Yandex не надо, лучше валидный, но дело не в нем.
CONCURRENT_ITEMS — макс число элементов, обрабатываемых в Item Pipeline (мне кажется, этот параметр на параллельные запросы не влияет),
CONCURRENT_REQUESTS_PER_SPIDER — макс число параллельных запросов каждого паука (поставьте 1), CONCURRENT_SPIDERS — макс число пауков (поставьте 1)
я округлил тогда на счет двухсот — 281-282 было и есть. Никакой разницы. Сейчас пробую с параметрами 1 и 1 в двух последних, но, думаю, что результат будет или такой же, или будет очень медленно.
Может это ограничение на сессию? Посмотрите, устанавливаются ли какие-либо куки, может их значения меняются с обходом сайта. Напишите мне сайт и что вы парсите в личку. Даже интересно как-то стало.
Проблема была в том, что битрикс, как всегда, впереди планеты всей — он хранил в куках историю посещений. И когда накапливалось около 200 элементов — отказывался работать как надо. Итог — выключенные куки и несколько часов времени на анализ всей сложившейся проблемы)