Python Web & Scripts — Django, FastAPI, скрипты

<b>Scrapy ломается не на парсинге, а на мелочах вокруг него</b>

<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 остаётся быстрым и предсказуемым, а не «магией, которая иногда работает».
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @dumay. Быстрый тест: $20 за канал, $1000 за пакет по сети.