Как можно вращать прокси, чтобы избежать CAPTCHA при просмотре веб-страниц? - PullRequest
0 голосов
/ 15 апреля 2020

Я создал python скрипт, который использует Selenium для веб-скрапинга. Этот скрипт должен запускаться часами за раз. В частности, я работаю только с одним веб-сайтом, и до сих пор мне удалось мирно очистить его, просто повернув Агенты пользователей браузера из пула из 1000 агентов.

Однако я только что увеличил масштаб своего скрипта, используя многопоточность, и внезапно все мои попытки зайти на сайт при очистке потерпели неудачу из-за CAPTCHA.

Судя по всему, вращающиеся прокси - это ответ. Как мне вращать прокси с помощью Selenium?

1 Ответ

0 голосов
/ 15 апреля 2020

Один из способов сделать это - использовать http_request_randomizer (объяснение в комментариях к коду). Как вы, возможно, знаете, бесплатные прокси-серверы publi c крайне ненадежны, небезопасны и могут быть заблокированы. Поэтому я бы не рекомендовал использовать этот метод для серьезного проекта или на производстве.

from http_request_randomizer.requests.proxy.requestProxy import RequestProxy
from selenium import webdriver
req_proxy = RequestProxy() #you may get different number of proxy when  you run this at each time
proxies = req_proxy.get_proxy_list() #this will create proxy list

PROXY = proxies[5].get_address() #select the 6th proxy from the list, of course you can randomly loop through proxies
print(proxies[5].country)

webdriver.DesiredCapabilities.CHROME['proxy'] = {
    "httpProxy": PROXY,
    "ftpProxy": PROXY,
    "sslProxy": PROXY,

    "proxyType": "MANUAL",

}
driver = webdriver.Chrome()

driver.get('https://www.expressvpn.com/what-is-my-ip')

Лучший способ сделать это - использовать платный прокси-сервис. В настоящее время я использую https://luminati.io/ в производственной среде, и их обслуживание очень надежно, плюс он автоматически и часто меняет ваш IP ( почти каждый запрос ).

См .:

Luminati

как настроить прокси с аутентификацией в селеновом хроматографе python?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...