在爬蟲爬取信息的過程中,有部分會出現(xiàn)剛開始采集正常,但是爬取幾次之后就沒有辦法再次采集數(shù)據(jù)了,這基本上就是因為ip被爬取的服務(wù)器給禁了,所以在爬取過程中最好添加上代理ip,這樣每爬取一次就切換一次ip,便可減少被封的可能。
首先需要一個ip的代理池,現(xiàn)在基本上都是付費,格式基本都是 ip+端口號
用request模塊進行url訪問時,設(shè)置ip代理:
proxies參數(shù):參數(shù)中需要傳進一個對象對象中需要兩個參數(shù)一個是http一個是https但是傳遞的內(nèi)容是一樣的
參數(shù)url格式為:http://+ip+端口。
當需要進行用戶名密碼認證的時候便需要在傳遞兩個參數(shù):http://+用戶名+密碼+@+ip+端口。
例:
(無需認證)
(認證)
訪問寫法為:
request.get(url=url,proxies={'http': 'http://admin:admin@175.167.236.26:57114', 'https':'http://admin:admin@175.167.236.26:57114'}}
需要注意的是,雖然你寫好了,而代理服務(wù)器有可能拒絕你代理,會返回403錯誤,所以需要在結(jié)果中判斷響應(yīng)值是不是200,如果進行多次請求的時候建議加上訪問過期時間,不然你的主機或者服務(wù)器會非常卡頓~