python爬蟲快速響應服務器的做法
不論是打開網頁或者爬取一些資料的時候,我們想要的是計算機能在最短的時間內運行出結果,不然等待的時間過長會影響下一步工作的計劃。這時候我們可以給計算機一個指令,限制最久能等待的時間,在我們能接受的時間內運行出結果。那么這個指令方法是什么呢?接下來我們一起看看吧。
requests之所以稱為“HTTP for human”,因為其封裝層次很高,其中一處體現就在:requests會自動處理服務器響應的重定向。我在做搜狗微信公眾號抓取的時候,搜狗搜索列表頁面的公眾號文章地址,其實不是微信的地址而需要請求到搜狗到服務器做重定向,而requests的默認處理則是將整個過程全部搞定,對此可以這樣:
In [1]: r = requests.get(’http://xlzd.me’, allow_redirects=False)
allow_redirects參數為False則表示不會主動重定向。
另外,有時候對方網站的響應時間太長了,我們希望在指定時間內完事,或者直接停止這個請求,這時候的做法是:
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)
到此這篇關于python爬蟲快速響應服務器的做法的文章就介紹到這了,更多相關python爬蟲中如何快速響應服務器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. Django中的AutoField字段使用2. Django ORM實現按天獲取數據去重求和例子3. 解決docker與vmware的沖突問題4. IntelliJ Idea 2020.1 正式發布,官方支持中文(必看)5. IntelliJ IDEA設置自動提示功能快捷鍵的方法6. asp.net core應用docke部署到centos7的全過程7. Java 3D的動畫展示(Part1-使用JMF)8. Python基于jieba, wordcloud庫生成中文詞云9. 如何在vue3.0+中使用tinymce及實現多圖上傳文件上傳公式編輯功能10. 刪除docker里建立容器的操作方法
