Yelp.com: python-парсинг через прокси — как обойти бан?

Собираю данные с yelp.com, сначала парсинг через основной адрес - через 200-150 страниц получаю бан. Начинаю парсить через прокси - банит очень быстро прокси.

В коде делаю подмену UA.

proxy = 'socks4://42.105.99.197:35519'
    ua = {
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
            'Accept-Language': 'en-US;q=0.8;en;q=0.3',
            'Cache-Control': 'max-age=0',
            'Connection': 'keep-alive',
            'Host': 'www.yelp.com',
            'Pragma': 'no-cache',
            'Upgrade-Insecure-Requests': '1',
            'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
        }
    r = s.get(url, headers=ua, proxies=dict({'https':proxy, 'http':proxy}))


Никак не получается ни одной прокси продержаться больше 100-150 страниц - жесткий бан (к примеру, неделю назад получил бан на основном адресе и до сих пор нет разбана). В интернете очень много пользователей жалуются на то, что их адреса (NAT) были забанены.

Пробовал через Selenium Webdriver - парсит намного медленней, но примерно через 100 страниц тоже бан. Собрал около 20к проксей (рабочих) с интернета, на 1000 собранных страниц больше 4000 забаненных проксей...

Какие варианты обхода такой жесткой защиты?
  • Вопрос задан
  • 1306 просмотров
Пригласить эксперта
Ответы на вопрос 3
@man_without_face
студент
Да это не жесткая защита и решается на раз-два. Просто купите доступ к платным спискам проксей и через API используйте их. Даже user-agent можете не трогать. Забрали 50 записей - новый прокси, забрали 50 записей - снова новый прокси, и так до бесконечности. Всё делается автоматом, не нужно там где-то собирать какие-то прокси хреновые или типа того.
Ответ написан
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Если банят через 150 страниц - почему через 100 не сменить прокси? :)
Ответ написан
@Yuraz
Можно еще вот это использовать: https://github.com/aivarsk/scrapy-proxies
Random proxy middleware for Scrapy
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы