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