Попробуйте запустить программу:
from requests import request
urls = [ "1047883",
"1044004",
"572033",
"839458" ]
for url in urls:
resp = request(method='GET', url="https://www.kinopoisk.ru/film/{}/".format(url), headers={'Connection':'close'})
with open("ololo_{}.html".format(url), 'w') as f:
f.write(resp.text)
У вас первый файл будет нормальным, остальные три с капчей.
Окей. Теперь запустите это:
from requests import request
urls = [ "1047883",
"1044004",
"572033",
"839458" ]
resp = request(method='GET', url="https://www.kinopoisk.ru/film/{}/".format(urls[int(sys.argv[1])]), headers={'Connection':'close'})
with open("ololo_{}.html".format(url), 'w') as f:
f.write(resp.text)
Вот так:
for i in $(seq 0 3); do python3 shiza.py $i; done
Все 4 результата будут без капчи.
Ту же самую проблему я наблюдаю с некоторыми серверами выдающими JSON ответы. В первом случае все ответы имеют одинаковую структуру, во втором рандомную.
Я использовал рандомные заголовки и хорошие прокси через опсосов. И все равно пофиг, сервер видит мои запросы requests как от одной программы.