Python爬蟲(chóng)之網(wǎng)絡(luò)請(qǐng)求
1.IP代理
某些網(wǎng)站會(huì)檢測(cè)一段時(shí)間內(nèi)某IP的訪問(wèn)次數(shù),若訪問(wèn)次數(shù)過(guò)多會(huì)禁止訪問(wèn),這時(shí)需要設(shè)置一些代理服務(wù)器,每隔一段時(shí)間換一個(gè)代理。IP代理的分類:
- ①透明代理:目標(biāo)網(wǎng)站可以得知使用了代理以及源IP地址,顯然這不符合要求;
- ②匿名代理:目標(biāo)網(wǎng)站知道使用了代理,但不知道源IP地址;
- ③高匿代理:最保險(xiǎn)的方式,目標(biāo)網(wǎng)站既不知道使用了代理,也不知道源IP地址。
2.Cookie
解決http的無(wú)狀態(tài)性,第一次向服務(wù)器發(fā)送請(qǐng)求時(shí),服務(wù)器生成Cookie作為請(qǐng)求頭并儲(chǔ)存到瀏覽器中;瀏覽器再次發(fā)送請(qǐng)求時(shí)將攜帶Cookie信息。
import urllib.request from http import cookiejar filename = 'cookie.txt' #獲取Cookie def get_cookie(): ? ? #實(shí)例化一個(gè)MozillaCookieJar用于存儲(chǔ)cookie ? ? cookie = cookiejar.MozillaCookieJar(filename) ? ? #創(chuàng)建handler對(duì)象 ? ? handler = urllib.request.HTTPCookieProcessor(cookie) ? ? #創(chuàng)建opener對(duì)象 ? ? opener = urllib.request.build_opener(handler) ? ? #請(qǐng)求網(wǎng)址 ? ? url = 'https://tieba.baidu.com/index.html?traceid=#' ? ? resp = opener.open(url) #發(fā)送請(qǐng)求 ? ? #存儲(chǔ)cookie文件 ? ? cookie.save() ? #讀取cookie def use_cookie(): ? ? #實(shí)例化MozillaCookieJar ? ? cookie = cookiejar.MozillaCookieJar() ? ? #加載cookie文件 ? ? cookie.load(filename) ? ? print(cookie) ? get_cookie() use_cookie()
3.異常處理
①u(mài)rllib.error.URLError:用于捕獲由urllib.request產(chǎn)生的異常,使用reason屬性返回錯(cuò)誤原因
import urllib.request import urllib.error ? url = 'http://www.google.com' try: ? ? resp = urllib.request.urlopen(url) except urllib.error.URLError as e: ? ? print(e.reason)
輸出結(jié)果:
[WinError 10060] 由于連接方在一段時(shí)間后沒(méi)有正確答復(fù)或連接的主機(jī)沒(méi)有反應(yīng),連接嘗試失敗。
②urllib.error.HTTPError:用于處理HTTP與HTTPS請(qǐng)求的錯(cuò)誤,
有三個(gè)屬性:
code:請(qǐng)求返回的狀態(tài)碼reason:返回錯(cuò)誤的原因headers:請(qǐng)求返回的響應(yīng)頭信息
import urllib.request
import urllib.error
?
url = 'https://movie.douban.com/'
try:
? ? resp = urllib.request.urlopen(url)
except urllib.error.HTTPError as e:
? ? print('原因:',e.reason)
? ? print('響應(yīng)狀態(tài)碼:',str(e.code))
? ? print('響應(yīng)頭數(shù)據(jù):',e.headers)
到此這篇關(guān)于Python爬蟲(chóng)之網(wǎng)絡(luò)請(qǐng)求的文章就介紹到這了,更多相關(guān)Python 網(wǎng)絡(luò)請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)折半查找和歸并排序算法
這篇文章主要介紹了python實(shí)現(xiàn)折半查找和歸并排序算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
python2.7無(wú)法使用pip的解決方法(安裝easy_install)
下面小編就為大家分享一篇python2.7無(wú)法使用pip的解決方法(安裝easy_install),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02
python利用 pytesseract快速識(shí)別提取圖片中的文字((圖片識(shí)別)
本文介紹了tesseract的python調(diào)用,也就是pytesseract庫(kù),其中還有一些其他的內(nèi)容并沒(méi)有涉及,僅涉及到了圖片提取文字,如果你對(duì)其感興趣,可以深入探索一下,也希望能和我探討一下2022-11-11
詳解基于Transformer實(shí)現(xiàn)電影評(píng)論星級(jí)分類任務(wù)
這篇文章主要為大家介紹了詳解基于Transformer實(shí)現(xiàn)電影評(píng)論星級(jí)分類任務(wù)過(guò)程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python機(jī)器學(xué)習(xí)iris數(shù)據(jù)集預(yù)處理和模型訓(xùn)練方式
iris數(shù)據(jù)集包含150個(gè)樣本,每個(gè)樣本有4個(gè)特征及其類別信息,本文介紹了iris數(shù)據(jù)集的基本操作和如何使用knn模型進(jìn)行花卉種類預(yù)測(cè),是機(jī)器學(xué)習(xí)中的經(jīng)典案例,適用于監(jiān)督式學(xué)習(xí)2024-10-10
python使用py2neo查詢Neo4j的節(jié)點(diǎn)、關(guān)系及路徑
本文介紹了使用Py2neo的NodeMatcher和RelationshipMatcher查詢圖中的節(jié)點(diǎn)和關(guān)系,以及通過(guò)執(zhí)行Cypher語(yǔ)句的查詢方式。感興趣的小伙伴請(qǐng)看下文2021-08-08

