Я использую Python
для очистки страниц. До сих пор у меня не было сложных проблем.
Сайт, который я пытаюсь очистить, использует множество проверок безопасности и имеет механизм предотвращения скребков.
Используя Requests
и lxml
, я смог очистить около 100-150 страниц, прежде чем получить запрет по IP. Иногда я даже получаю запрет на первый запрос (новый IP, ранее не используемый, другой блок C). Я попытался с подделкой заголовков, рандомизировать время между запросами, все равно.
Я пробовал с Селеном, и я получил намного лучшие результаты. С Selenium я смог очистить около 600-650 страниц перед тем, как их запретили. Здесь я также попытался рандомизировать запросы (между 3-5 секундами и сделать вызов time.sleep(300)
на каждый 300-й запрос). Несмотря на это, я получаю запрет.
Отсюда я могу заключить, что на сайте есть механизм, в котором они запрещают IP, если он запрашивал больше, чем X страниц в одном открытом сеансе браузера или что-то в этом роде.
Основываясь на своем опыте, что еще я должен попробовать? Будет ли закрытие и открытие браузера в Selenium help (например, после каждых 100-ти запросов закрыть и открыть браузер). Я думал о попытках с прокси-серверами, но есть миллион страниц, и это будет очень обширно.