一.匯入操作
import requests
二.請求url
1.無引數的GET請求
r = request.get("www.baidu.com")
2.有引數的GET請求 # 以params為引數 # 傳遞的必須是字典格式
payload = {'name1':'kobe','name2':'hohaod'} r = requests.get("www.baidu.com",params=payload) print (r,url)
3.傳送POST請求 # 以data為引數 # 傳遞的必須是字典格式
r = requests.post("www.baidu.com",data = {'name':'hohaod'})
import json # 傳送json格式資料 payload = {"name":"hohaod"} r = requests.post("www.baidu.com",json=payload)
url = 'www.baidu.com' # 傳送檔案 # files引數 files = {'file':open('report.xls','rb')} r = requests.post(url,files = files) print(r.text)
4.另外請求有4種方式(HTTP協議中的4種method)
r = requests.get("www.baidu.com/put") r = requests.delete("www.baidu.com/delete") r = head("www.baidu.com/get") r = options("www.baidu.com/get")
三.獲取返回資訊
5.獲取返回資訊並轉換為各種格式
r = requests.get("www.baidu.com") r = requests.get("www.baidu.com",stream = True) print(r.raw.read()) #獲取原始資料 print(r.text) # 獲取響應結果 # 返回的是字串 print(r.content) # 與r.text的差別就是r.content返回的是位元組流(爬圖片時可用到) print(r.json) #如果請求對應的響應是一個json 可用此方法直接拿到json格式的資料 print(r.encoding) # 獲取內容編碼 r.encoding = 'utl-8' # 修改編碼方式 print(r.json()) # 將內容轉換為JSON物件
四.關於headers(包括請求頭和響應頭)
6.獲取響應頭(響應頭是字典)
r = requests.get('www.baidu.com/get') print(r.status_code) print(r.headers) #是一個字典 print(r.headers['Content-Type']) print(r.headers.get('content-type'))
7.獲取請求頭
r.requests.headers
8.定製請求頭 # 其實也就是給url傳引數
url = 'www.baidu.com' headers = {'User_Agent':'my_computer'} r = requests.get(url,headers = headers)
五.響應狀態碼
r = requests.get("www.baidu.com/get") print(r.status_code) print(r.status_code==requests.codes.ok) bad_r = requests.get('www.baidu.com/status/404') print(bad_r.status_code)
六.關於請求時間
requests.get('www.baidu.com',timeout)