header
options = Options()
options.add_argument("user-agent=Mozilla/5.0 ... Chrome/120.0 Safari/537.36")
代理IP
options.add_argument("--proxy-server=http://你的代理IP:端口")
例如 :
# 代理IP列表.
proxy_list = ['ip1:port1', 'ip2:port2', 'ip3:port3', ...]
# 配置Chrome选项.
Firefox_options = Options()
Firefox_options.add_argument('--proxy-server={}'.format(proxy_list[0]))
# 循环尝试不同的代理IP.
for proxy in proxy_list:
try:
# 创建WebDriver实例.
browser = webdriver.Firefox(options=Firefox_options)
# 进行爬取操作
# ...
# 如果成功执行爬取操作,跳出循环.
break # 这很重要,不然会一直重复换ip执行同一个爬虫.
except # 建议添加时间超出机制.
except WebDriverException as e:
# 处理代理IP失败的情况.
print('Proxy IP {} failed. Trying another IP.'.format(proxy))
# 切换到下一个代理IP.
Firefox_options = Options()
Firefox_options.add_argument('--proxy-server={}'.format(proxy))
# 关闭browser.
browser.close()