Когда на сайте появляется защита, это повод пересмотреть подход к парсингу. Сначала я выясняю, при каких условиях она срабатывает, и применяю следующие методы:
Использую качественные прокси (и чем больше, тем лучше).
Уменьшаю частоту запросов, чтобы избежать подозрений.
Работаю с cookies для имитации "доверенного" пользователя.
Имитирую реального пользователя через headless-браузеры или Splash.
Если Cloudflare всё же активируется, либо ищу способ обхода (в сети много интересного по этой теме), либо повторяю запрос с другим прокси.
В scrapy можно интегрировать splash/selenium, и таким образом решить проблему js рендеринга.
Но, статья не о том, что нужно всегда и везде использовать scrapy. Иногда проще написать отдельный парсер.
Я выбираю этот фреймворк, когда стоит задача регулярного сбора большого количества источников с похожим форматом данных.
Когда на сайте появляется защита, это повод пересмотреть подход к парсингу. Сначала я выясняю, при каких условиях она срабатывает, и применяю следующие методы:
Использую качественные прокси (и чем больше, тем лучше).
Уменьшаю частоту запросов, чтобы избежать подозрений.
Работаю с cookies для имитации "доверенного" пользователя.
Имитирую реального пользователя через headless-браузеры или Splash.
Если Cloudflare всё же активируется, либо ищу способ обхода (в сети много интересного по этой теме), либо повторяю запрос с другим прокси.