<b>Scrapy ломается не на парсинге, а на мелочах вокруг него</b>
За неделю в репах чаще всего всплывают одни и те же ошибки: crawler быстро «успешно» завершился, а данных меньше ожидаемого; дубли полезли после смены пагинации; proxy и антибот начали резать не запрос, а весь поток. У Scrapy сильный движок, но он не спасает от плохой логики обхода.
Проверь три вещи до запуска:
— <code>dupefilter</code>: если URL отличаются только параметром, нормализуй их заранее.
— <code>item pipeline</code>: не клади туда тяжёлую бизнес-логику, иначе упадёт throughput.
— <code>retry/timeout</code>: одинаковые настройки для всех доменов редко работают, делай их на уровне spider или downloader middleware.
Ещё одна частая ловушка — смешивать сбор и очистку. Spider должен доставать структуру, а не чинить кривой HTML, считать валюты и решать, куда сохранить результат. Когда в один класс пихают всё подряд, отладка превращается в угадайку.
Если нужен устойчивый краулер, держи правило простым: spider собирает, pipeline валидирует, middleware управляет сетью. Тогда Scrapy остаётся быстрым и предсказуемым, а не «магией, которая иногда работает».
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
<b>Scrapy ломается не на парсинге, а на мелочах вокруг него</b>
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.