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)的重定向。我在做搜狗微信公眾號抓取的時(shí)候,搜狗搜索列表頁面的公眾號文章地址,其實(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 requestsproxies = { '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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. JS圖片懶加載庫VueLazyLoad詳解2. Java實(shí)現(xiàn)的迷宮游戲3. django queryset相加和篩選教程4. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)5. idea設(shè)置提示不區(qū)分大小寫的方法6. Java PreparedStatement用法詳解7. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算8. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟9. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝10. IDEA 2020.1.2 安裝教程附破解教程詳解

網(wǎng)公網(wǎng)安備