使用動態ip防止被反爬

爬蟲和反爬蟲的對抗并不激烈。今天我們主要討論一個非常重要的對付反爬蟲的手段,那就是IP代理。
 
通常,我們會訪問如下網址:
 
動態IP模擬器

當客戶端向URL所在的服務器發起請求時,會攜帶自己的IP地址,這樣服務器就可以獲得我們的IP地址。當這個IP地址在某段時間內過于頻繁地發起請求時,它可能會在某段時間內限制其訪問。
 
在編寫爬蟲程序的過程中,為了防止這種情況發生,有必要使用IP代理。IP代理的原理如下:
 
 
第一步:我們將向代理服務器發送請求,并告訴代理服務器我們想要訪問https://www.zhihu.com。
 
第二步:代理服務器將代替我們向https://www.zhihu.com發送請求。
 
第三步:服務器收到代理服務器的請求后,將數據返回給代理服務器。
 
第四步:代理服務器收到服務器返回的數據后,將數據發送給客戶端。
 
這樣,通過代理服務器向網址所在的服務器發送請求,我們就可以完美地隱藏自己的IP,這樣我們的IP就不會被限制訪問。
 
不過,肯定會有代價的。我們需要通過IP代理轉發我們想要的數據,這自然會導致爬行速度變慢。只有使用原生IP發起請求是最快的。
 
接下來,像往常一樣,我們使用代碼來演示如何通過IP代理發起請求:
 
導入請求
 
#自由代理可以從https://www.xicidaili.com/,獲得,但自由ip代理的存活率很低。
 
代理= { 0
 
http:“”183 . 148 . 158 . 64:9999
 
}
 
RES = requests . get(' https://www . Baidu . com ',proxies = proxy)
 
打印(參考文本)
 
#如果可以正確返回結果,那么當前的ip代理是活動的、可用的,否則當前的ip代理無效。
 
僅有一個代理ip是不夠的。我們應該維護自己的ip代理池。當ip代理失敗時,它將被消除。那么如何維護一個可用的ip代理池呢?
 
#第一步:通過https://www.xicidaili.com/wt/.獲取ip_list
 
導入請求
 
來自bs4導入美麗組
 
隨機導入
 
def get_ip_list(url):
 
標題= { 0
 
用戶代理“:”Mozilla/5.0(Windows NT 10.0;WOW64)applebwebkit/537.36(KHTML,像Gecko)Chrome/66 . 0 . 3359 . 139 Safari/537.36’
 
}
 
res = requests.get(url,headers = headers)
 
res =美化組(res.text,' html.parser ')
 
結果= RES . select(# IP _ list tr)
 
對于結果[1:]中的結果:
 
ip = result.select('td')[1]。文本
 
port = result.select('td')[2]。文本
 
法官(ip,端口)
 
#獲取ip后,無法直接保存。首先,你應該判斷它是否可用。
 
#第二步:確定獲取的ip是否有效。
 
ip_list = []
 
def判斷(ip、端口):
 
代理= { ' http ':IP+':'+端口}
 
嘗試:
 
RES = requests . get(' https://www . Baidu . com ',proxies = proxy)
 
例外:
 
打印(此IP:“+IP+”無效)
 
返回False
 
否則:
 
if 200
主站蜘蛛池模板: 成年女人午夜毛片免费视频| 欧美日韩午夜视频| 国产午夜精品一区二区三区不卡| 7777精品久久久大香线蕉| 天天躁日日躁aaaaxxxx| 中国一级毛片在线观看| 日本中文字幕在线观看| 久青草影院在线观看国产| 欧美午夜电影在线观看| 亚洲欧美日韩在线一区二区三区| 狼群影院www| 免费无遮挡无码视频在线观看| 老司机天堂影院| 国产三级精品三级在线专区| 很黄很污的视频网站| 国产精品免费观看视频| 91人成在线观看网站| 在线观看国产福利| jzzjzzjzz日本| 性欧美高清come| 中文字幕一区二区三区精彩视频| 日本一道dvd在线播放| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩第一区| 国产精品无码永久免费888| 97福利视频精品第一导航| 天堂资源在线中文| mp1pud麻豆媒体| 妖神记1000多章哪里看| 一级特级黄色片| 性色av一区二区三区| 中国黄色a级片| 成人欧美一区二区三区| 中文字幕久无码免费久久| 放荡的女老板bd| 久久99热只有频精品8| 日本乱码视频a| 久久99精品视频| 放荡白丝袜麻麻| 中国黄色毛片大片| 强迫的护士bd在线观看|