gpt4 book ai didi

python - 如何在没有 Polipo 的情况下将 Crawlera 与 selenium(Python、Chrome、Windows)一起使用

转载 作者:行者123 更新时间:2023-12-01 01:51:03 24 4
gpt4 key购买 nike

所以基本上我正在尝试使用 python 在 Windows 上使用来自 scrapinghub 的 Crawlera 代理和 selenium chrome。

我检查了文档,他们建议像这样使用 Polipo:

1) 将以下行添加到/etc/polipo/config

parentProxy = "proxy.crawlera.com:8010"
parentAuthCredentials = "<CRAWLERA_APIKEY>:"

2) 将其添加到 selenium 驱动程序

polipo_proxy = "127.0.0.1:8123"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': polipo_proxy,
'ftpProxy' : polipo_proxy,
'sslProxy' : polipo_proxy,
'noProxy' : ''
})

capabilities = dict(DesiredCapabilities.CHROME)
proxy.add_to_capabilities(capabilities)
driver = webdriver.Chrome(desired_capabilities=capabilities)

现在我不想使用 Polipo 而是直接使用代理。

有没有办法替换 polipo_proxy 变量并将其更改为crawlera变量?每次我尝试这样做时,它都不会考虑它并且在没有代理的情况下运行。

Crawlera代理格式如下:[API KEY]:@[HOST]:[PORT]

我尝试使用以下行添加代理:

chrome_options.add_argument('--proxy-server=http://[API KEY]:@[HOST]:[PORT])

但问题是我需要以不同的方式指定 HTTP 和 HTTPS。

提前谢谢您!

最佳答案

Polipo 不再维护,因此使用它存在挑战。 Crawlera 需要身份验证,Chrome 驱动程序目前似乎不支持该身份验证。您可以尝试使用 Firefox webdriver,因为您可以在自定义 Firefox 配置文件中设置代理身份验证并使用 Running selenium behind a proxy server 中所示的配置文件。和 http://toolsqa.com/selenium-webdriver/http-proxy-authentication/ .

我也曾遇到过同样的问题,并从中得到了一些缓解。希望它也能帮助您。要解决此问题,您必须使用 Firefox 驱动程序及其配置文件以这种方式放置代理信息。

profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "proxy.server.address")
profile.set_preference("network.proxy.http_port", "port_number")
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)

这对我来说完全有效。作为引用,您可以使用上述网站。

关于python - 如何在没有 Polipo 的情况下将 Crawlera 与 selenium(Python、Chrome、Windows)一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50723713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com