如何通过Watir使用具有身份验证的代理?
proxy = {
http: 'my.proxy.com:8080',
ssl: 'my.proxy.com:8080'
}
chrome_browser = Watir::Browser.new :chrome, proxy: proxy
我的代理的结构类似于ip:port:username:password
,但似乎无法正常工作。如何在Watir中使用此代理?
答案 0 :(得分:0)
后代:
您可以使用https://github.com/SebastianJ/proxy-chain-rb在本地主机上设置代理,而无需进行身份验证,重定向到您的实际代理。
real_proxy = "http://username:password@host:port"
server = ProxyChainRb::Server.new
generated_proxy = server.start(real_proxy)
proxy = {
http: generated_proxy,
ssl: generated_proxy
}
Watir::Browser.new(:chrome, proxy: proxy)
* do your scraping *
server.stop
如果不需要运行无头模式,则还可以使用扩展程序。
创建Selenium using Python: enter/provide http proxy password for firefox中描述的zip文件(显然,使用您自己的代理信息)。
从压缩文件中创建一个.crx
文件。您可以在Chrome->设置->扩展->切换开发人员模式->扩展包中
options = { extensions: ['path of .crx file'] }
browser = Watir::Browser.new :chrome, options: options
请注意,这在无头Chrome中将不起作用。