資料團Python_10.2 Requests工具包安裝及介紹

weixin_33978044發表於2017-04-12

10.2 Requests工具包安裝及介紹

HTTP協議

計算機通訊網路中兩臺計算機之間進行通訊所必須共同遵守的規定或規則,超文字傳輸協議(HTTP)是一種通訊協議,它允許將超文字標記語言(HTML)文件從Web伺服器傳送到客戶端的瀏覽器。
目前我們使用的是HTTP / 1.1 版本

rul

URL(Uniform Resource Locator)地址用於描述一個網路上的資源

  • scheme
    低層使用的協議(例如:http、https、ftp)
  • host
    HTTP伺服器的IP地址或者域名
  • prot#
    HTTP伺服器的預設埠是80,這種情況下埠號可以省略。如果使用了別的埠,必須指明,例如:http://www.cnblogs.com:8080/
  • path
    訪問資源的路徑
  • query-string
    傳送給http伺服器的資料
  • anchor-

伺服器與本地的交換機制

本地:瀏覽器
Request / Response
網路:伺服器

http請求方式
  • get
  • post
  • head
  • put
  • options
  • trace
  • delete

requests包

requests是Python的一個HTTP客戶端庫,向網頁傳送請求。

安裝:在win的cmd中:pip install requests

  • 匯入requests模組
    • import requests
    • r = requests.get(url = '...')
    • r = requests.post()

作業:
用get的方式對騰訊新聞網站發出請求http://news.qq.com/

u = 'http://news.qq.com/'
r = requests.get(url = u)
print(r)
print(type(r))

runfile('C:/Users/Administrator/Desktop/requests.py', wdir='C:/Users/Administrator/Desktop')
<Response [200]>
<class 'requests.models.Response'>
  • 對URL傳遞引數
    url中之後的就是引數,引數之間用 & 隔開。

  • 獲取網頁狀態碼
    網頁狀態碼Status Code → 顯示網頁返回狀態
    1xx(臨時響應)
    2xx(成功)→200(成功)伺服器已成功處理了請求。
    3xx(重定向)→302(臨時移動)伺服器目前從不同位置的網頁相應請求。
    4xx(請求錯誤)→404(未找到)伺服器找不到請求的網頁
    5xx(伺服器錯誤)

  • 獲取網頁編碼
    r.encoding檢查網頁的編碼

  • 獲取相應內容
    r.text獲取網頁內容
    網頁原始碼

  • 獲取頭域
    HTTP頭域是HTTP協議中請求(request)和響應(response)中的頭部資訊HTTP。
    包括通用頭請求頭響應頭和實體頭四個部分。
    使用r.headers獲取網頁頭域,結果是一個字典。

  • 設定超時
    通過timeout設定超時,一旦超過這個時間還沒有獲得響應內容,就會提示錯誤。

相關文章