Requests庫


Requests庫

`

1.Response對象的屬性

屬性 說明
r.status_code HTTP請求返回的狀態,200表示成功,404表示失敗,還有其他的也代表失敗
r.text HTTP響應內容轉換成字符串格式
r.content HTTP響應內容轉換成二進制格式
r.encoding 從HTTP header中猜測響應內容
r.apparent_encoding 從內容中分析響應內容的編碼方式(備選編碼方式)

r.encodingr.apparent_encoding

  • r.encoding:如果header中不存在charset,則默認編碼為ISO-8859-1

  • r.apparent_encoding :根據內容來匹配出合適的編碼

  • apparent_encoding比encoding更加准確的展示編碼方式

2.Requests庫的異常

異常 說明
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異常

    舉例:通用爬取的框架

    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)
    

3.Requests庫的方法

3.Requests庫的方法

http協議中6個方法 介紹
GET 請求獲取url位置的資源
HEAD 請求獲取url位置的資源的響應報告,及獲得頭部信息
POST 請求獲取url位置的資源后附加用戶新的數據
PUT 請求獲取url位置儲存一個資源,覆蓋原url位置資源
PATCH 請求局部更新url位置資源,及改變該處資源的部分內容
DELETE 請求刪除url位置儲存的資源
  • 獲取雲端資源用get,head

  • 把自己資源放入雲端用put post patch

  • 刪除現有資源del

    用url對資源位置的定義

    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位置儲存的資源

4.Requests庫13個參數

  • params:字典或字節序列,作為參數增加到鏈接中
  • data:字典,字節序列或文件對象,作為請求的內容
  • json:JSON格式的數據,作為Request的內容
  • headers:字典,HTTP定制頭(模擬瀏覽器進行訪問)
  • cookies:字典或CpplieJar,Request中的cookie
  • auth:元祖,支持HTTP認證功能
  • files:字典類型,傳輸文件
  • timeout:設定超時時間,秒為單位
  • proxies:字典類型,設定訪問代理服務器,可以增加登陸認證
  • allow_redirects:True//False,默認為True,重定向開關
  • stream:True/False,默認為True,獲取內容立即下載開關
  • verify:True/False,默認為True,認證SSL證書開關
  • cert:本地SSL證書路徑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM