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. IDEA EasyCode 一鍵幫你生成所需代碼2. IntelliJ IDEA設置條件斷點的方法步驟3. Java構建JDBC應用程序的實例操作4. Express 框架中使用 EJS 模板引擎并結合 silly-datetime 庫進行日期格式化的實現方法5. ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)6. javascript設計模式 ? 建造者模式原理與應用實例分析7. Spring應用拋出NoUniqueBeanDefinitionException異常的解決方案8. Python使用oslo.vmware管理ESXI虛擬機的示例參考9. 一篇文章帶你了解JavaScript-對象10. 使用AJAX(包含正則表達式)驗證用戶登錄的步驟
