Python get запрос возвращает None

Делаю парсер на python (requests) и необходимо перебирать большой список урлов из базы данных путём отправки get запросов, но при этом очень важна скорость работы скрипта. Но когда я запускаю код, спустя какое время сервер начинает возвращать None значние. Как подсказали в другом вопросе, это может быть из-за того, что сервер временно блокирует трафик с моего ip-адреса, поэтому я добавил изменение user-agent и начал передавать разные proxy. Вот часть кода:

from random import choice, uniform

with open("parser_files/user-agent.txt") as user_agent_file:
    user_agent = eval(user_agent_file.read())
get_headers = {'user-agent': choice(user_agent)}

with open("parser_files/http_proxy_list.txt") as http_proxy_list_file:
    http_proxy_list = eval(http_proxy_list_file.read())
proxy = {'http': f'http://{choice(http_proxy_list)}'}

steam_skin = requests.get(final_steam_api_url, headers = get_headers, proxies = proxy).json()

sleep(uniform(1,5))

Переменная final_steam_api_url меняется, вот одна из списка:

https://steamcommunity.com/market/listings/730/MP7 | Teal Blossom (Minimal Wear)/render/?query=&start=0&count=1&country=RU&language=russian&currency=1

Данные в файлах user-agent.txt и http_proxy_list.txt выглядят так:

http_proxy_list.txt = ['161.202.226.194:80', ...]
user-agent.txt = ['Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0', ...]

Если выводить в консоль получаю следующее:

{'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36'}
{'http': 'http://132.145.18.53:80'}

Вроде бы всё делаю правильно, но всё равно сервер спустя какое-то возвращает None. На всякий случай добавил небольшую задержку, но она не помагает. Этот "бан" проходит спустя время, но мне важна скорость, поэтому нужно как-то избегать ошибки. Что я делаю неправильно? Спасибо

UPD:
Приобрёл десяток анонимных прокси, все с паролями. Проверил - работают. Но ошибка никуда не исчезла. Появилось предположение, что сайт каким-то образом всё таки получает информацию о ПК, и соответственно даёт временный бан. Вопрос в том, что именно может передаваться в get-запросе, что выводит сервер на мой комп, и можно ли как-то "контролировать" что я передаю в запрос? Надеюсь на помощь


Ответы (0 шт):