Python----Requests庫基本使用

Hohaod發表於2019-03-22

一.匯入操作

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)

相關文章