Есть бот, парсит стим площадку. Конечно, периодически улетает в бан с кодом 429(много запросов). Стим retry-after не выдает, время приходится угадывать вслепую. Подключил tor c privoxy и через них пускаю парсинг. Если менять айпи каждый запрос - то стим не идентифицирует, но это слишком затратно по времени. Если же менять айпи сразу после бана, то стим даже под другим айпи идентифицирует парсер и снова бан, как так-то?
session = requests.session()
proxies = {"http": "http://127.0.0.1:8118",
"https": "https://127.0.0.1:8118"}
cookies = {'Steam_Language': "russian"}
headers = {'user-agent': UserAgent().random}
def get_html(url):
global session, headers
while True:
html = session.get(url, cookies=cookies, headers=headers, proxies=proxies)
time.sleep(random.choice([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]))
while True:
if html.status_code == 200:
return html
elif html.status_code == 400:
return None
elif html.status_code == 429:
CM().new_identity() # смена айпи
session = requests.session() # смена сессии/подключения
headers = {'user-agent': UserAgent().random} # смена юзер-агента
time.sleep(random.randint(6, 14))
else:
return None