大家好!下面的提问非常小白,可能有很多描述不清楚的 ?。需求:我有 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
添加回答
举报
0/150
提交
取消