`html
屬性 | 說明 |
---|---|
r.status_code | HTTP請求返回的狀態,200表示成功,404表示失敗,還有其餘的也表明失敗 |
r.text | HTTP響應內容轉換成字符串格式 |
r.content | HTTP響應內容轉換成二進制格式 |
r.encoding | 從HTTP header中猜想響應內容 |
r.apparent_encoding | 從內容中分析響應內容的編碼方式(備選編碼方式) |
r.encoding
與r.apparent_encoding
python
r.encoding:若是header中不存在charset,則默認編碼爲ISO-8859-1json
apparent_encoding比encoding更加準確的展現編碼方式瀏覽器
異常 | 說明 |
---|---|
requests.ConnectionError | 網絡鏈接錯誤異常,如DNS查詢失敗、拒絕鏈接等 |
requests.HTTPErro | HTTP錯誤異常 |
requests.URLRequired | URL缺失異常 |
requests.TooManyRedirects | 超過最大重定向次數,產生重定向異常 |
requests.ConnectTimeout | 鏈接遠程服務器超時異常 |
requests.Timeout | 請求URL超時,產生超時異常 |
若是在r.status_code不是200時候,咱們能夠r.raise_for_status(),若是不是200,引起HTTPError異常服務器
舉例:通用爬取的框架cookie
import requests def get_html_text(url): try: r =requests.get(url,timeout=30) r.raise_for_status() #若是不是200,引起HTTPError異常 r.encoding = r.apparent_encoding return r.text except: return '產生異常' if __name__ == '__main__' #在pycharm中你能夠直接main+Tab快速出這行 get_html_text(https://www.cnblogs.com/pythonywy)
http協議中6個方法 | 介紹 |
---|---|
GET | 請求獲取url位置的資源 |
HEAD | 請求獲取url位置的資源的響應報告,及得到頭部信息 |
POST | 請求獲取url位置的資源後附加用戶新的數據 |
PUT | 請求獲取url位置儲存一個資源,覆蓋原url位置資源 |
PATCH | 請求局部更新url位置資源,及改變該處資源的部份內容 |
DELETE | 請求刪除url位置儲存的資源 |
獲取雲端資源用get,head網絡
把本身資源放入雲端用put post patchapp
刪除現有資源del框架
用url對資源位置的定義post
1.patch與put區別
patch能夠對於局部修好,put是所有覆蓋
requests與協議方法一一對應
方法 | 介紹 |
---|---|
requests.request() | 設置請求格式 |
requests.get() | 請求獲取url位置的資源 |
requests.head() | 請求獲取url位置的資源的響應報告,及得到頭部信息 |
requests.post() | 請求獲取url位置的資源後附加用戶新的數據 |
requests.put() | 請求獲取url位置儲存一個資源,覆蓋原url位置資源 |
requests.patch() | 請求局部更新url位置資源,及改變該處資源的部份內容 |
requests.delete() | 請求刪除url位置儲存的資源 |
params
:字典或字節序列,做爲參數增長到連接中data
:字典,字節序列或文件對象,做爲請求的內容json
:JSON格式的數據,做爲Request的內容headers
:字典,HTTP定製頭(模擬瀏覽器進行訪問)cookies
:字典或CpplieJar,Request中的cookieauth
:元祖,支持HTTP認證功能files
:字典類型,傳輸文件timeout
:設定超時時間,秒爲單位proxies
:字典類型,設定訪問代理服務器,能夠增長登錄認證allow_redirects
:True//False,默認爲True,重定向開關stream
:True/False,默認爲True,獲取內容當即下載開關verify
:True/False,默認爲True,認證SSL證書開關cert
:本地SSL證書路徑