大家好!下面的提問非常小白,可能有很多描述不清楚的 ?。需求:我有 10 個付費的 HTTP 代理,希望可以一個 IP 抓取 100 次內(nèi)容切換一次 IP(IP 的調(diào)取已經(jīng)寫好了)問題:不明白如何切換 IP實現(xiàn)效果(代碼在最下面):每抓取 100 次后,cycle100 的值到達 99(起始值為 0),觸發(fā)切換代理 IP 的代碼。切換完成后接下來的 100 次爬取都是切換了的代理 IP。我的思路(小白思路):1、關閉當前瀏覽器,然后用以下代碼重新開一個(結果不行,會多開好幾個瀏覽器):browser?=?webdriver.Chrome(options=chrome_options)2、如下這種方式,只能打開 .get(' XXXXXXXX, proxies = proxies') 中的 XXXXXX 網(wǎng)址,希望實現(xiàn)切換一次 IP 則接下來的瀏覽器的所有打開的新網(wǎng)頁都是用新 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?#?循環(huán)?100?次更換一次?IP
def?switching():????
????global?cycle100????
????cycle100?+=?1????
????if?cycle100?==?99:????????
????????print("該代理已經(jīng)運行?100?次")????????
????????time.sleep(1)????????????????
????????print("順序獲取代理")????????
????????PROXY?=?auto_proxy()?#?調(diào)用函數(shù),獲取?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
Python 3 爬蟲切換代理問題
totosspace
2019-11-14 21:11:17