python 應用場景非常廣泛,大資料、爬蟲、人工智慧等,常見的熱門領域都離不開這個傢伙,今天又來說說 python 常用的庫之一「requests」,只要是與網路相關的的操作,都離不開這個庫。restful 常見的增刪改查「crud」都用這個可以實現。
基礎的操作有,請求乙個頁面,獲取「get」網頁內容。
>>
> r = requests.get(
'')# get
>>
> r
200]
>
# http 響應200
>>
> r.headers[
'content-type'
]# 網頁型別
'text/html'
>>
> r.encoding # 正在使用的編碼
'iso-
8859
-1
#基礎用法
上面這個是最簡單的,不需要上面認證、伺服器認證**、請求內容、定製頭等,比如帶上請求資料,把需要的資料封裝為字典,然後用 params 帶入即可。
# 在瀏覽器訪問的**是
# /get?key2=value2&key1=value1
# 用 requests 來訪問
>>
> payload =
>>
> r = requests.get(
'/get'
, params=payload)
對返回的內容還可以解析,有乙個內建的 json 解碼器,不過是針對乙個返回的是乙個字典,如果是多個字典的話,有報錯異常提示。
>>
>
import requests
>>
> r = requests.get(
'/events'
)>>
> r.json()[
>>
> r = requests.get(url, headers=headers)
對於 post 的請求,則需要帶上 data
>>
> payload =
>>
> r = requests.post(
"/post"
, data=payload)
在爬取資料的時候,有時候會遇到**是用 cookies 來訪問的,這個時候需要認證,獲取到 cookies,然後帶上引數 cookies 即可訪問。
>>
> url =
'/cookies'
>>
> cookies =
dict
(cookies_are=
'working'
)>>
> r = requests.get(url, cookies=cookies)
還有一些**反「爬」機制的,會加上多個路徑的 cookies,就可以用到
> r = requests.get(url, cookies=jar)應當指出的是,呼叫的成功 r.json() 並不能 表明響應成功。某些伺服器可能會在失敗的響應中返回 json 物件(例如,http 500的錯誤詳細資訊)。這樣的json將被解碼並返回。要檢查請求是否成功,請使用 r.raise_for_status() 或檢查r.status_code 您的期望。
Python爬蟲 HTTP協議 Requests庫
http協議 http hypertext transfer protocol 即超文字傳輸協議。url是通過http協議訪問資源的internet路徑,乙個url對應乙個資料資源。http協議對資源的操作 requests庫提供了http所有的基本請求方式。官方介紹 requests庫的6個主要方...
python 爬蟲系列02 認識 requests
本系列所有文章基於 python3.5.2 requests 是基於 urllib 的三方模組,相比於 uillib,操作更簡潔,功能更強大,而且支援 python3 getimport requests r requests.get url print r.status code print r....
python小白學習記錄 爬蟲requests篇
一 引用庫 import requests 二 請求訪問url,網頁相應 res requests.get 網頁位址 三 表明返回內容 目前返回的response物件有四種屬性 status code 檢查請求是否成功 content 將資料轉換為二進位制資料 text 將資料轉換為字串型資料 en...