1.背景
因为公司需要爬去大量的信息,公司ip很快就被对方平台封了,因此果断选择selenium模拟登录,并设置代理。但我目前在网上找的解决方案都不行,貌似是selenium版本的问题。后来我通过阅读selenium官方文档,整理总结了selenium For Firefox的代理设置。
2.代码
def get_browser():
proxies = get_proxy() # ip的获取,方式很多:adsl、代理ip...
ip = re.findall('\d+\.\d+\.\d+\.\d+', proxies['http'])[0]
port = re.findall(':(\d+)', proxies['http'])[0]
print(proxies)
socket = '%s:%s' % (ip, port)
print('socket', socket)
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': socket,
'ftpProxy': socket,
'sslProxy': socket,
'noProxy': '',
})
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy)
browser = webdriver.Firefox(firefox_profile=profile)
return browser