Автор текста на собственном опыте убедился, что слишком быстрая очистка веб-сайтов может привести к блокировке. Проблема не в том, что очищается, а в том, как быстро это делается. Чтобы избежать блокировки, необходимо выполнять очистку вежливо, реализуя задержку между запросами. Самое простое решение — использовать настройку DOWNLOAD_DELAY, которая ожидает указанное количество секунд между запросами к одному и тому же домену. Эту задержку можно рандомизировать, чтобы сделать ее более похожей на человеческую. Другой подход — ограничить количество одновременных запросов с помощью настройки CONCURRENT_REQUESTS.
AutoThrottle — это умный механизм автоматического регулирования скорости, который настраивает скорость очистки в зависимости от времени ответа сервера, нагрузки на сервер и частоты ошибок. Его можно включить в файле настроек и настроить для запуска с определенной задержкой и целевой параллельностью. Автор также обсуждает обработку ограничений скорости, включая обнаружение кодов состояния 429, капч и заблокированных IP-адресов. Чтобы справиться с ограничениями скорости, необходимо повторно отправлять запросы и замедлять скорость очистки. Автор предлагает несколько стратегий регулирования скорости, включая регулирование скорости на основе времени, соблюдение crawl-delay из robots.txt и экспоненциальную задержку.
Также рекомендуется сочетать несколько методов, например, использовать базовое регулирование скорости, AutoThrottle и повторные попытки при ограничениях скорости. Мониторинг скорости очистки также имеет решающее значение для обеспечения того, чтобы очистка не была слишком быстрой или слишком медленной. Автор предоставляет рекомендации о том, когда следует замедлить или ускорить очистку, например, замедлять при получении ошибок 429 или капч, и ускорять при очистке больших веб-сайтов или использовании нескольких IP-адресов. Текст завершается подчеркиванием важности быть хорошим интернет-гражданином и выполнять очистку ответственно, чтобы избежать блокировки и траты времени.
Автор также выделяет распространенные ошибки, которых следует избегать, такие как отсутствие задержки, использование одной и той же задержки для всех сайтов и игнорирование ответов 429. Текст предоставляет краткое справочное руководство по базовому регулированию скорости, AutoThrottle и обработке ограничений скорости. В целом, автор подчеркивает важность вежливой и ответственной очистки, чтобы избежать блокировки и обеспечить успешный опыт очистки. Следуя рекомендациям и лучшим практикам, изложенным в тексте, очистители могут избежать распространенных ошибок и обеспечить надежный и эффективный процесс очистки.
dev.to
Scrapy AutoThrottle & Rate Limiting: Stop Getting Blocked
