Всем привет!
Пишу скрипт, в котором нужно отсылать много запросов, поэтому нужно отправлять их с разных ip, user-agent и, желательно, ставить небольшую задержку между запросами. Чтобы я не придумывал, как бы не крутился, появляется либо
ошибка 429(пользователь отправил слишком много запросов за последнее время), либо что-то вроде
Max retries exceeded with url.
Попробовал спарсить ответ с сайта 2ip и увидел, что ip мой, какие бы параметры я не добавлял...
Выручайте, буду вам очень признателен...
Как я понял, что ip мой:
import bs4, requests
from fake_useragent import UserAgent
with requests.Session() as sess:
ua = UserAgent()
sess.proxies.update({"http": 'http://45.14.174.1:80'})
res = sess.get(f"https://2ip.ua/ru/", headers={'User-Agent': ua.random, 'Connection':'close'})
# res = sess.get(f"https://2ip.ua/ru/", proxies={'http': f'45.14.174.1:80'}, headers={'User-Agent': ua.random, 'Connection':'close'})
b = bs4.BeautifulSoup(res.text, "html.parser")
a = b.select(" .ipblockgradient .ip")[0].getText()
print(a)
Я поиграл с кодом и заметил, что если я введу синтаксически неправильный ip(не 45.14.174.1:80, а, например, 45.14.1780), то код все равно сработает точно так же. Разве не должна вылетать ошибка запроса от сервера?