国产精品主播一区二区-国产一级不卡毛片-日本少妇中出-国产视频第二页-青草精品视频-亚洲熟妇丰满多毛xxxx-日韩福利在线-成年人免费观看在线视频-久久久www-91在线视频观看无毒不卡-999国产精品-91久久爽久久爽爽久久片-和搜子居同的日子2hd高清看-鬼眼 电影-中文在线精品-综合网久久-国产精品美女久久久久久

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

Python爬蟲常用的技巧——設(shè)置代理IP?在學(xué)習(xí)Python爬蟲時,經(jīng)常會遇到要爬的網(wǎng)站,采用了反爬技術(shù),導(dǎo)致爬不上去。網(wǎng)頁信息的高強(qiáng)度、高效率抓取往往會給網(wǎng)站服務(wù)器帶來很大壓力,所以同一個IP重復(fù)抓取同一個網(wǎng)頁,很可能會被屏蔽。這里有一個爬蟲技能,設(shè)置代理IP。
 
 
 
 
 
 
下面簡單介紹一下免費(fèi)獲取代理IP的方法。這種方法的優(yōu)點(diǎn)是免費(fèi),缺點(diǎn)是爬出來后不可用的多。
 
 
 
IP地址取自國內(nèi)IP網(wǎng)站和IP模擬器代理。如果我們抓取主頁上的IP地址,或者你可以抓取第一頁和第二頁,一般用途就足夠了。
 
 
 
配置環(huán)境
 
 
 
安裝請求庫
 
 
 
安裝bs4庫
 
 
 
安裝lxml庫
 
 
 
絕對代碼
 
 
 
不多說直接上代碼。
 
 
 
動態(tài)IP模擬器
 
 
 
get_ip_list(url,headers)函數(shù)傳入url和頭,最后返回一個ip列表。該列表的元素類似于122.114.31.177:808格式,該列表包括國內(nèi)互聯(lián)網(wǎng)代理IP網(wǎng)站主頁上的所有IP地址和端口。
 
 
 
get_random_ip(ip_list)函數(shù)傳入由第一個函數(shù)獲得的列表,并返回一個隨機(jī)代理。這個代理可以傳入requests的get方法,這樣你每次運(yùn)行都可以使用不同的IP訪問抓取的網(wǎng)站,有效避免真實(shí)IP被屏蔽的風(fēng)險。
 
 
 
代理的格式是字典:{ ' http ':' http://122 . 114 . 31 . 177:808 ' },下面的執(zhí)行也可以封裝成方法。
 
 
 
為了抓取ip,Rhino代理服務(wù)器做了反抓取。如果頻繁抓取IP,服務(wù)器會主動返回503服務(wù)不可用并提示阻止,所以在請求時可以先請求保存一個文件進(jìn)行讀取,或者抓取一個IP幾分鐘后再抓取,相當(dāng)于增加了一個定時功能。
 
 
 
代理IP的使用
 
 
 
運(yùn)行上面的代碼會得到一個隨機(jī)的代理,它可以直接傳遞給請求的get方法。
 
 
 
res = requests.get(url,headers=headers,proxies = proxies)
 
 
 
這里要提醒大家的是,免費(fèi)代理IP的穩(wěn)定性還是需要討論的。不如建議如何抓取大量信息或者買一些代理IP。
 
德保县| 沐川县| 收藏| 青龙| 宜宾市| 汾西县| 孝昌县| 溧水县| 正阳县| 竹北市| 沛县| 吴旗县| 丁青县| 左权县| 湖口县| 西充县| 乐东| 农安县| 绩溪县| 汶川县| 城固县| 祁阳县| 盐池县| 香港 | 凭祥市| 卓资县| 普陀区| 庆安县| 丽水市| 申扎县| 商洛市| 岳池县| 平乐县| 汶上县| 陆良县| 桑日县| 马山县| 咸宁市| 宜丰县| 同江市| 梨树县|