Собираю данные с 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 забаненных проксей...
Какие варианты обхода такой жесткой защиты?