python爬蟲(chóng)之代理ip正確使用方法實(shí)例
主要內(nèi)容:代理ip使用原理,怎么在自己的爬蟲(chóng)里設(shè)置代理ip,怎么知道代理ip是否生效,沒(méi)生效的話哪里出了問(wèn)題,個(gè)人使用的代理ip(付費(fèi))。
代理ip原理
輸入網(wǎng)址后發(fā)生了什么呢?
1.瀏覽器獲取域名
2.通過(guò)DNS協(xié)議獲取域名對(duì)應(yīng)服務(wù)器的ip地址
3.瀏覽器和對(duì)應(yīng)的服務(wù)器通過(guò)三次握手建立TCP連接
4.瀏覽器通過(guò)HTTP協(xié)議向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求
5.服務(wù)器將查詢結(jié)果返回給瀏覽器
6.四次揮手釋放TCP連接
7.瀏覽器渲染結(jié)果
其中涉及到了:
應(yīng)用層:HTTP和DNS
傳輸層:TCP UDP
網(wǎng)絡(luò)層:IP ICMP ARP
代理ip做了什么呢?
簡(jiǎn)單來(lái)說(shuō),就是:
原本你的訪問(wèn)

使用代理后你的訪問(wèn)

為什么要用代理呢?
因?yàn)槲覀冊(cè)谧雠老x(chóng)的過(guò)程中經(jīng)常會(huì)遇到這樣的情況,最初爬蟲(chóng)正常運(yùn)行,正常抓取數(shù)據(jù),一切看起來(lái)都是那么美好,然而一杯茶的功夫可能就會(huì)出現(xiàn)錯(cuò)誤,比如403 Forbidden,這時(shí)候打開(kāi)網(wǎng)頁(yè)一看,可能會(huì)看到“您的IP訪問(wèn)頻率太高”這樣的提示。出現(xiàn)這種現(xiàn)象的原因是網(wǎng)站采取了一些反爬蟲(chóng)措施。比如,服務(wù)器會(huì)檢測(cè)某個(gè)IP在單位時(shí)間內(nèi)的請(qǐng)求次數(shù),如果超過(guò)了這個(gè)閾值,就會(huì)直接拒絕服務(wù),返回一些錯(cuò)誤信息,這種情況可以稱為封IP。而代理ip就避免了這個(gè)問(wèn)題:

爬蟲(chóng)代碼中使用代理ip
就像是請(qǐng)求時(shí)偽裝頭一樣,偽裝ip,注意是 { }
proxies = {
'https':'117.29.228.43:64257',
'http':'117.29.228.43:64257'
}
requests.get(url, headers=head, proxies=proxies, timeout=3) #proxies檢驗(yàn)代理ip是否生效
我們?cè)L問(wèn)一個(gè)網(wǎng)站,這個(gè)網(wǎng)站會(huì)返回我們的ip地址:
print(requests.get('http://httpbin.org/ip', proxies=proxies, timeout=3).text)我們看一下我使用了四個(gè)不同的代理ip,全部生效了,

未生效問(wèn)題排查
如果你返回的還是本機(jī)地址,99%試一下兩種情況之一:
1.請(qǐng)求協(xié)議不匹配
簡(jiǎn)單來(lái)說(shuō)就是,如果你請(qǐng)求的是http,就要用http的協(xié)議,如果是https,就要用https的協(xié)議。

如果我請(qǐng)求是http ,但只有https,就會(huì)使用本機(jī)ip。
2.代理失效
便宜沒(méi)好貨,好貨不便宜。如果確實(shí)大規(guī)模爬蟲(chóng)是必須的話,還是買代理ip比較好,網(wǎng)上廣告滿天飛的某些代理實(shí)際性價(jià)比有些低了,自己常用的就不分享了,總是被當(dāng)成廣告,推薦一些其他的比如:
1、IPIDEA
2、Stormproxies
3、YourPrivateProxy
4、GeoSurf
當(dāng)然還有大家熟知的快代理,西刺等等,都有一些免費(fèi)代理可供使用。
總結(jié)
到此這篇關(guān)于python爬蟲(chóng)之代理ip正確使用方法的文章就介紹到這了,更多相關(guān)python爬蟲(chóng)代理ip內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python7個(gè)爬蟲(chóng)小案例詳解(附源碼)中篇
- Python7個(gè)爬蟲(chóng)小案例詳解(附源碼)上篇
- Python爬蟲(chóng)程序中使用生產(chǎn)者與消費(fèi)者模式時(shí)進(jìn)程過(guò)早退出的問(wèn)題
- Python爬蟲(chóng)庫(kù)urllib的使用教程詳解
- Python利用yield?form實(shí)現(xiàn)異步協(xié)程爬蟲(chóng)
- python爬蟲(chóng)之requests庫(kù)使用代理方式
- python?基于aiohttp的異步爬蟲(chóng)實(shí)戰(zhàn)詳解
- Python爬蟲(chóng)框架NewSpaper使用詳解
- 通過(guò)python爬蟲(chóng)mechanize庫(kù)爬取本機(jī)ip地址的方法
- Python爬蟲(chóng)學(xué)習(xí)之requests的使用教程
- python爬蟲(chóng)beautiful?soup的使用方式
- Python爬蟲(chóng)之超級(jí)鷹驗(yàn)證碼應(yīng)用
- Python爬蟲(chóng)Requests庫(kù)的使用詳情
- python爬蟲(chóng)模擬登錄之圖片驗(yàn)證碼實(shí)現(xiàn)詳解
- Python爬蟲(chóng)eval實(shí)現(xiàn)看漫畫漫畫柜mhgui實(shí)戰(zhàn)分析
- python爬蟲(chóng)實(shí)戰(zhàn)項(xiàng)目之爬取pixiv圖片
- 使用python爬蟲(chóng)實(shí)現(xiàn)子域名探測(cè)問(wèn)題
- Python7個(gè)爬蟲(chóng)小案例詳解(附源碼)下篇
相關(guān)文章
Windows 7下Python Web環(huán)境搭建圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows 7下Python Web環(huán)境搭建圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
在keras中實(shí)現(xiàn)查看其訓(xùn)練loss值
這篇文章主要介紹了在keras中實(shí)現(xiàn)查看其訓(xùn)練loss值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
python 文件的基本操作 菜中菜功能的實(shí)例代碼
這篇文章主要介紹了python 文件的基本操作 菜中菜功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
Pandas剔除混合數(shù)據(jù)中非數(shù)字的數(shù)據(jù)操作
這篇文章主要介紹了Pandas剔除混合數(shù)據(jù)中非數(shù)字的數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
django+celery+RabbitMQ自定義多個(gè)消息隊(duì)列的實(shí)現(xiàn)
本文主要介紹了django+celery+RabbitMQ自定義多個(gè)消息隊(duì)列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
error?conda:ProxyError:Conda?cannot?proceed?due?to?an?
這篇文章主要為大家介紹了error conda:ProxyError:Conda cannot proceed due to an error in your proxy configuration解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
flask中主動(dòng)拋出異常及統(tǒng)一異常處理代碼示例
這篇文章主要介紹了flask中主動(dòng)拋出異常及統(tǒng)一異常處理代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
一小時(shí)學(xué)會(huì)TensorFlow2之自定義層
這篇文章主要介紹了TensorFlow2之自定義層,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
python實(shí)現(xiàn)telnet客戶端的方法
這篇文章主要介紹了python實(shí)現(xiàn)telnet客戶端的方法,分析了Python中telnetlib模塊實(shí)現(xiàn)telnet操作的方法,并實(shí)例敘述了Telnet客戶端的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-04-04

