Необходимо спарсить задания с сайта znanija.com
На каждое задание ведет ссылка вида
https://znanija.com/task/{номер_задания}. Я делаю гет запросы с каждым разом увеличивая номер задания, т.е:
for (i in range(2, max_i)): #начинаю с 2 т.к. первое задание на сайте имеет такой номер
r = requests.get(f"https://znanija.com/task/{i}", headers={"user-agent":"..."})
#...
На первые n запросов сервер отвечает так, как это задумано (n от 20 до 50). Однако после n запросов сервер, судя по всему, банит меня по ип и начинает возвращать в ответе текст "Please enable JS and disable any ad blocker", а при входе на сайт из браузера просит ввести капчу. Вопрос: как обойти ограничение?
Пробовал:
1. Использовать разные прокси и юзер-агенты (большинство прокси не сработали, а те, что сработали, имели слишком большой таймаут и, что хуже, не воспринимались сервером адекватно, т.к. он [сервер], предположительно, принимает запросы только из снг)
2. селениум (открывалось окно браузера, где просили пройти капчу, однако после этого оно моментально закрывалось и приложение останавливало свою работу даже не выкинув исключение; + данный вариант, даже будучи рабочим, не рационален, т.к. необходимо сделать (в идеале) несколько миллионов запросов)
3. делать таймауты по t секунд между кажыми x запросами (пробовал разные t и х, все равно банило спустя время)
Все вышеперечисленное не помогло;
Заранее извиняюсь, если вопрос как-то гуглится: искал решение несколько дней, но проблема все еще в силе.
Заранее благодарен.