Я перебираю Bet365, вероятно, один из самых хитрых сайтов, с которыми мне приходилось сталкиваться, с селеном и Chrome.
Проблема с этой страницей в том, что, хотя мой скребок спит так, что никоим образом не работает быстрее, чем человек может, в какой-то момент, иногда, он блокирует мой ip со случайного количества времени (между половиной и 2 часами) .
Итак, я просматриваю прокси, чтобы сменить IP и возобновить очистку. И вот тут я застрял, пытаясь решить, как подойти к этому
Я использовал 2 разных бесплатных провайдеров ip следующим образом
https://gimmeproxy.com
Я не смог заставить это работать, я пишу в службу поддержки, но то, что у меня есть, должно работать следующим образом
import requests
api="MY_API_KEY" #with the free plan I can ask 240 times a day for an IP
adder="&post=true&supportsHttps=true&maxCheckPeriod=3600"
url="https://gimmeproxy.com/api/getProxy?"
r=requests.get(url=url,params=adder)
THIS IS EDITED
apik="api_key={}".format(api)
r=requests.get(url=url,params=apik+adder)
а я не получаю ответа. Ошибка 404 не найдена. СЕЙЧАС РАБОТАЕТ, МОЙ ПЛОХОЙ
Мой второй подход - через этот другой сайт sslproxy
С этим вы очищаете страницу и получаете список из 100 IP-адресов, теоретически проверенных и работающих. Итак, я настроил цикл, в котором я пробую случайный IP-адрес из этого списка, и если он не работает, удаляет его из списка и пытается снова. Этот подход работает при попытке открыть Bet365.
for n in range(1, 100):
proxy_index=random.randint(0, len(proxies) - 1)
proxi=proxies[proxy_index]
PROXY=proxi['ip']+':'+proxi['port']
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server={}'.format(PROXY))
url="https://www.bet365.es"
try:
browser=webdriver.Chrome(path,options=chrome_options)
browser.get(url)
WebDriverWait(browser,10)..... #no need to post the whole condition
break
except:
del proxies[proxy_index]
browser.quit()
Что ж, с этим мне удалось открыть Bet365, и я все еще проверяю, но я думаю, что этот веб-драйвер будет работать намного медленнее, чем мой оригинальный, без прокси.
Итак, мой вопрос: ожидается ли, что с использованием прокси очистка будет происходить намного медленнее, или это зависит от используемого прокси? Если да, то рекомендует ли кто-нибудь другой (или лучше, конечно) подход?