久久久,被高潮,国精产品一线二线三线av,久久精品一区二区东京热,久久精品国产99国产电影网,久久97精品久久久久久久不卡

Python爬蟲常用的小技巧-設置動態(tài)ip

Python爬蟲常用的技巧——設置代理IP?在學習Python爬蟲時,經常會遇到要爬的網站,采用了反爬技術,導致爬不上去。網頁信息的高強度、高效率抓取往往會給網站服務器帶來很大壓力,所以同一個IP重復抓取同一個網頁,很可能會被屏蔽。這里有一個爬蟲技能,設置代理IP。
 
 
 
 
 
 
下面簡單介紹一下免費獲取代理IP的方法。這種方法的優(yōu)點是免費,缺點是爬出來后不可用的多。
 
 
 
IP地址取自國內IP網站和IP模擬器代理。如果我們抓取主頁上的IP地址,或者你可以抓取第一頁和第二頁,一般用途就足夠了。
 
 
 
配置環(huán)境
 
 
 
安裝請求庫
 
 
 
安裝bs4庫
 
 
 
安裝lxml庫
 
 
 
絕對代碼
 
 
 
不多說直接上代碼。
 
 
 
動態(tài)IP模擬器
 
 
 
get_ip_list(url,headers)函數傳入url和頭,最后返回一個ip列表。該列表的元素類似于122.114.31.177:808格式,該列表包括國內互聯網代理IP網站主頁上的所有IP地址和端口。
 
 
 
get_random_ip(ip_list)函數傳入由第一個函數獲得的列表,并返回一個隨機代理。這個代理可以傳入requests的get方法,這樣你每次運行都可以使用不同的IP訪問抓取的網站,有效避免真實IP被屏蔽的風險。
 
 
 
代理的格式是字典:{ ' http ':' http://122 . 114 . 31 . 177:808 ' },下面的執(zhí)行也可以封裝成方法。
 
 
 
為了抓取ip,Rhino代理服務器做了反抓取。如果頻繁抓取IP,服務器會主動返回503服務不可用并提示阻止,所以在請求時可以先請求保存一個文件進行讀取,或者抓取一個IP幾分鐘后再抓取,相當于增加了一個定時功能。
 
 
 
代理IP的使用
 
 
 
運行上面的代碼會得到一個隨機的代理,它可以直接傳遞給請求的get方法。
 
 
 
res = requests.get(url,headers=headers,proxies = proxies)
 
 
 
這里要提醒大家的是,免費代理IP的穩(wěn)定性還是需要討論的。不如建議如何抓取大量信息或者買一些代理IP。