requests庫的用法

2021-09-26 08:43:46 字數 2990 閱讀 8732

requests庫是python優秀的第三方http請求庫,使用起來簡潔強大,需要額外安裝。

可使用pip工具安裝 :pip install requests

請求網頁

import requests

response = requests.get("")

僅需簡單一步便可實現各種方法的請求(還有post(), put(), delete()等請求方法)

響應的response物件包括text,cookies,content,headers,statuts_code,url,history等屬性可直接使用。

傳入引數

需要在傳入引數時可使用params這個引數。

import requests

data =

r = requests.get('',params=data)

print(r.json()) #json()方法可將json字串轉化為字典,(字串裡必須時json格式)

新增headers

先構造headers字典,在user-agent欄位設定請求頭,再在方法使用headres引數構造請求。

import requests

headers =

r = requests.get('',headers=headers)

post請求

使用data引數傳入資料。

import requests

data =

r = requests.post('',data=data)

基本的請求實現了,而高階一點的功能(如cookies設定,**設定等)用requests庫實現也十分簡單,不用像urllib庫那樣需要用handler來構建opener。

檔案上傳

可用requests模擬提交一些資料檔案:

import requests

files =

r = requests.post('',files=files)

cookies設定

import requests

r = requests.get(')

print(r.cookies)

import requests

headers =

r = requests.get('',headers=headers)

會話維持

用requests.get()等方法開啟的頁面就是乙個新的會話,相當於新開了乙個瀏覽器開啟。 這樣不利於持續的訪問**,這時就需要維持當前會話,requests中使用session物件來維持會話,而不用擔心cookies問題。

import requests

s = requests.session()

s.get('') #設定cookie

r = s.get('') #重新訪問看cookie是否儲存,儲存則說明是同乙個會話。

ssl證書驗證

當傳送http請求時,requests會自動檢查ssl證書,可以使用verify引數設定為false來跳過證書的檢查。

**設定

使用proxies引數設定**:

import requests

proxies =

requests.get('",proxies=proxies)

#如果需要認證,可這樣設定**http://user:password@host:port

超時設定

可使用timeout引數設定響應時間,超過這個時間便會報錯,避免響應太慢時一直等待,時間單位為秒。

r = requests.get('url',timeout=1)

身份認證

#第二種認證方法

print(r.text)這裡引入了request,將各個引數構造成乙個request物件,再用session的prepare_request()方法將其轉化為乙個prepared request物件,最後呼叫send()傳送即可。

更多用法可閱讀reuqests庫的官方文件.

Requests庫基本用法

requests是python實現的最簡單易用的http庫 獲取某個請求 r requests.get print r print type r print r.status code 200get請求引數傳遞1 鍵值對 response1 requests.get print response1....

Requests 高階用法

使用 post 請求提交資料 import requests 檔案上傳 post請求 file print 開始請求 res requests.post files file res res.text print res 使用session物件,維護會話。import requests 會話保持 不...

5 爬蟲 requests庫講解 高階用法

0.檔案上傳 import requests files response requests.post files files print response.text 1.獲取cookies import requests response requests.get print response.c...