为了账号安全,请及时绑定邮箱和手机立即绑定

Python 3 爬虫切换代理问题

Python 3 爬虫切换代理问题

totosspace 2019-11-14 21:11:17
大家好!下面的提问非常小白,可能有很多描述不清楚的 ?。需求:我有 10 个付费的 HTTP 代理,希望可以一个 IP 抓取 100 次内容切换一次 IP(IP 的调取已经写好了)问题:不明白如何切换 IP实现效果(代码在最下面):每抓取 100 次后,cycle100 的值到达 99(起始值为 0),触发切换代理 IP 的代码。切换完成后接下来的 100 次爬取都是切换了的代理 IP。我的思路(小白思路):1、关闭当前浏览器,然后用以下代码重新开一个(结果不行,会多开好几个浏览器):browser = webdriver.Chrome(options=chrome_options)2、如下这种方式,只能打开 .get(' XXXXXXXX, proxies = proxies') 中的 XXXXXX 网址,希望实现切换一次 IP 则接下来的浏览器的所有打开的新网页都是用新 IP 访问的。import request sproxy = '173.208.46.152:128' proxies = {         'http': 'http://' + proxy,     'https': 'https://' + proxy, } try:         response = requests.get('http://httpbin.org/get', proxies = proxies)         print(response.text) except Exception as e:         print('Error', q.args)大致的代码写成下面这个样子(不可使用):cycle100 = 0 # 循环 100 次更换一次 IP def switching():         global cycle100         cycle100 += 1         if cycle100 == 99:                 print("该代理已经运行 100 次")                 time.sleep(1)                         print("顺序获取代理")                 PROXY = auto_proxy() # 调用函数,获取 IP 地址                 print("Proxy: " + PROXY)                 chrome_options = webdriver.ChromeOptions()                 print("设置代理")                 chrome_options.add_argument('--proxy-server=%s' % PROXY)                 browser = webdriver.Chrome(options=chrome_options)                 browser.get("https://httpbin.org/get")                 time.sleep(4)                 cycle100 = 0
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

你想的太简单了,很多情况没有考虑到。如果实在不会写,用scrapy吧,改配置总会吧?

查看完整回答
反对 回复 2019-11-15
  • 1 回答
  • 1 关注
  • 1990 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信