python爬蟲快速響應(yīng)服務(wù)器的做法
不論是打開網(wǎng)頁或者爬取一些資料的時(shí)候,我們想要的是計(jì)算機(jī)能在最短的時(shí)間內(nèi)運(yùn)行出結(jié)果,不然等待的時(shí)間過長會(huì)影響下一步工作的計(jì)劃。這時(shí)候我們可以給計(jì)算機(jī)一個(gè)指令,限制最久能等待的時(shí)間,在我們能接受的時(shí)間內(nèi)運(yùn)行出結(jié)果。那么這個(gè)指令方法是什么呢?接下來我們一起看看吧。
requests之所以稱為“HTTP for human”,因?yàn)槠浞庋b層次很高,其中一處體現(xiàn)就在:requests會(huì)自動(dòng)處理服務(wù)器響應(yīng)的重定向。我在做搜狗微信公眾號(hào)抓取的時(shí)候,搜狗搜索列表頁面的公眾號(hào)文章地址,其實(shí)不是微信的地址而需要請求到搜狗到服務(wù)器做重定向,而requests的默認(rèn)處理則是將整個(gè)過程全部搞定,對此可以這樣:
In [1]: r = requests.get('http://xlzd.me', allow_redirects=False)
allow_redirects參數(shù)為False則表示不會(huì)主動(dòng)重定向。
另外,有時(shí)候?qū)Ψ骄W(wǎng)站的響應(yīng)時(shí)間太長了,我們希望在指定時(shí)間內(nèi)完事,或者直接停止這個(gè)請求,這時(shí)候的做法是:
In [1]: r = requests.get('http://xlzd.me', timeout=3)
timeout表示這次請求最長我最長只等待多少秒
拓展:
為requests套上一層代理的做法也非常簡單:
import requests
proxies = {
"http": "http://192.168.31.1:3128",
"https": "http://10.10.1.10:1080",
}
requests.get("http://xlzd.me", proxies=proxies)
到此這篇關(guān)于python爬蟲快速響應(yīng)服務(wù)器的做法的文章就介紹到這了,更多相關(guān)python爬蟲中如何快速響應(yīng)服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python中的分支和循環(huán)結(jié)構(gòu)
這篇文章主要介紹了Python中的分支和循環(huán)結(jié)構(gòu),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
pytest解讀fixture有效性及跨文件共享fixtures
這篇文章主要為大家介紹了pytest官方文檔fixture有效性及跨文件共享fixtures的解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
在Django中Pyecharts生成圖表實(shí)現(xiàn)
pyecharts是支持python的一種可視化,那么在Django中Pyecharts如何生成圖表,主要有兩種方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理
這篇文章主要為大家介紹了Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
OpenCV+face++實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別解鎖功能
這篇文章主要為大家詳細(xì)介紹了OpenCV+face++實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別解鎖功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
python 刪除字符串中連續(xù)多個(gè)空格并保留一個(gè)的方法
今天小編就為大家分享一篇python 刪除字符串中連續(xù)多個(gè)空格并保留一個(gè)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

