【发布时间】:2019-08-30 02:48:21
【问题描述】:
我正在创建一个脚本来抓取一个网站以收集一些数据,但问题是他们在太多请求后阻止了我,但使用代理我可以发送比目前更多的请求。我已将代理与 chrome 选项集成在一起 --proxy-server
options.add_argument('--proxy-server={}'.format('http://ip:port'))
但我使用的是付费代理,因此它需要身份验证,如下图所示,它提供了用户名和密码的警报框
options.add_argument('--proxy-server={}'.format('http://username:password@ip:port'))
但它似乎也不起作用。我正在寻找一个解决方案,并在下面找到了解决方案,我将它与 chrome 扩展 proxy auto auth 一起使用,而没有 chrome 扩展
proxy = {'address': settings.PROXY,
'username': settings.PROXY_USER,
'password': settings.PROXY_PASSWORD}
capabilities = dict(DesiredCapabilities.CHROME)
capabilities['proxy'] = {'proxyType': 'MANUAL',
'httpProxy': proxy['address'],
'ftpProxy': proxy['address'],
'sslProxy': proxy['address'],
'noProxy': '',
'class': "org.openqa.selenium.Proxy",
'autodetect': False,
'socksUsername': proxy['username'],
'socksPassword': proxy['password']}
options.add_extension(os.path.join(settings.DIR, "extension_2_0.crx")) # proxy auth extension
但以上都不能正常工作,它似乎工作,因为在上面的代码之后代理身份验证警报消失了,当我通过谷歌搜索我的 IP 并确认它不起作用时。
请任何可以帮助我在 chromedriver 上验证代理服务器的人。
【问题讨论】:
标签: python-3.x selenium proxy selenium-chromedriver