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

Scrapy ломается не на парсинге, а на мелочах: 5 проверок перед запуском

Scrapy ломается не на парсинге, а на мелочах: 5 проверок перед запуском

За неделю в репах чаще всего всплывает одно и то же: spider вроде живой, а данных мало, дубли растут, а сервер отвечает баном. У Scrapy сильная база, но стабильность тут держится не на «магии фреймворка», а на дисциплине вокруг него.

• Проверь selector’ы на пустые ответы и fallback-ветки: если верстка поехала, паук не должен молча собирать мусор.
• Не смешивай логику обхода и нормализацию данных в parse: сначала достань сырой payload, потом приводи к схеме.
• Для дубликатов используй стабильный fingerprint: URL без шума, canonical-поля, нормализация query string.
• Retry и timeout настраивай под тип сайта, а не «на глаз»: одна политика для API, другая для тяжелых страниц.

Отдельно проверь pipeline: если item валится на валидации, паук не должен падать целиком. Ошибка должна уходить в лог с контекстом, иначе отладка превращается в угадайку.

Если нужен устойчивый Scrapy-проект, сначала добейся предсказуемого failure mode, и только потом ускоряй обход и распараллеливание.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

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

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

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