Python Requests簡單運用
Requests簡介
Requests 是使用 Apache2 Licensed 許可證的 HTTP 庫。比Python 標準庫中的 urllib2 模組功能強大。
Requests 使用的是 urllib3,因此繼承了它的所有特性。Requests 支援 HTTP 連線保持和連線池,支援使用 cookie 保持會話,支援檔案上傳,支援自動確定響應內容的編碼,支援國際化的 URL 和 POST 資料自動編碼。
功能特性
Requests 完全滿足如今網路的需求。
- 國際化域名和 URLs
- Keep-Alive & 連線池
- 持久的 Cookie 會話
- 類瀏覽器式的 SSL 加密認證
- 基本/摘要式的身份認證
- 優雅的鍵/值 Cookies
- 自動解壓
- Unicode 編碼的響應體
- 多段檔案上傳
- 連線超時
- 支援 .netrc
- 適用於 Python 2.6—3.4
- 執行緒安全
牛刀小試
>>> import requests >>> r = requests.get('http://www.baidu.com') # 傳送請求 >>> r.status_code # 網頁狀態碼 200 >>> r.headers['content-type'] #響應頭內容 'text/html; charset=utf-8' >>> r.encoding #獲取網頁編碼 'utf-8' >>> r.text #獲取響應網頁的內容 '<!--STATUS OK-->...
為URL傳遞引數
>>> payload = {'key1': 'value1', 'key2': 'value2'} >>> r = requests.get("http://httpbin.org/get", params=payload) >>> r = requests.post("http://httpbin.org/post", data=payload) >>> print r.text
超時
你可以告訴requests在經過以 timeout 引數設定的秒數時間之後停止等待響應:
>>> requests.get('http://github.com', timeout=0.001) Traceback (most recent call last): File "", line 1, in requests.exceptions.Timeout: HTTPConnectionPool(host='github.com', port=80): Request timed out. (timeout=0.001)
代理
如果需要使用代理,你可以通過為任意請求方法提供 proxies 引數來配置單個請求:
import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get("http://example.org", proxies=proxies)
錯誤與異常
遇到網路問題(如:DNS查詢失敗、拒絕連線等)時,Requests會丟擲一個 ConnectionError 異常。
遇到罕見的無效HTTP響應時,Requests則會丟擲一個 HTTPError 異常。
若請求超時,則丟擲一個 Timeout 異常。
若請求超過了設定的最大重定向次數,則會丟擲一個 TooManyRedirects 異常。
所有Requests顯式丟擲的異常都繼承自 requests.exceptions.RequestException 。
更多介紹可參考官方文件
整理自網路
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29733787/viewspace-1460107/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python requests庫的簡單使用Python
- python-對requests請求簡單的封裝Python封裝
- 使用Python和requests庫的簡單爬蟲程式Python爬蟲
- python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用Python爬蟲
- golang 切片簡單運用Golang
- 策略模式簡單運用模式
- Python運用於資料分析的簡單教程Python
- python 類和元類(metaclass)的理解和簡單運用Python
- 運用node實現簡單爬蟲爬蟲
- Linux下Cppunit的簡單運用Linux
- 教你如何運用python實現簡單檔案讀寫函式Python函式
- 使用requests+BeautifulSoup的簡單爬蟲練習爬蟲
- BeautifulSoup + requests 爬取扇貝 python 單詞書Python
- vue.js:最簡單的v-if運用Vue.js
- shell指令碼的一則簡單運用案例指令碼
- Python:requests模組Python
- python+requestsPython
- 用Python做遊戲有多簡單?Python遊戲
- 簡單介紹python自動化運維常用庫Python運維
- pytest跟我練01-->安裝&簡單運用
- js物件的屬性的運用簡單介紹JS物件
- logstash5.x安裝及簡單運用H5
- POJ3461-KMP演算法的簡單運用KMP演算法
- 簡單的磁碟運維運維
- 位運算簡單操作
- FastDFS簡介,運用AST
- 數字訊號處理:運用FFT簡單濾波FFT
- Python學習:用requests-html抓彩票資料PythonHTML
- 《探索Python Requests中的代理應用與實踐》Python
- python讀寫excel檔案簡單應用PythonExcel
- 用Python寫一個簡單的Web框架PythonWeb框架
- 用 Python 做個簡單的井字遊戲Python遊戲
- Java簡單四則運算Java
- python爬蟲requests模組Python爬蟲
- python requests 最牛攻略Python
- 安裝Python requests包Python
- Python3 基礎學習之數值簡單運算Python
- 用Python做一個簡單的翻譯工具Python