requests庫的使用

2021-09-11 10:06:56 字數 2661 閱讀 4414

import requests-> 引用模組

帶引數請求:

#get引數例項

requests.get('', params=)

#或url = ''

payload =

"accept-encoding":"gzip",

"accept-language":"zh-cn,zh;q=0.8",

"referer":"",

}  res1 = requests.get(url, params=payload, headers=headers, timeout=1)

#post引數例項

requests.post('', data=)

files = #用於傳送檔案的post屬性

files = #設定檔名

#或url = ''

data=

res2 = requests.post(url1, data=data, headers=headers ,files=files)

複製**

post傳送json資料:

import json

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

print(r.json())

複製**

r = requests.get('')

print (r.json()['data']['country'])

複製**

新增**:

proxies = 

requests.get("", proxies=proxies)

複製**

一些操作requests返回值的方法:

r.text  #字串方式的響應體,會自動根據響應頭部的字元編碼進行解碼

r.content #獲得二進位制響應內容

r.raw #獲得原始響應內容,需要stream=true

r.raw.read(50)

type(r.text) #返回解碼成unicode的內容

r.url

r.history #追蹤重定向

r.cookies

r.cookies['example_cookie_name']

r.headers #以字典物件儲存伺服器的響應頭,但該字典比較特殊,字典鍵不區分大小寫,若鍵不存在返回none

r.headers['content-type']

r.headers.get('content-type')

r.json #講返回內容編碼為json

r.encoding #返回內容編碼

r.status_code #返回http狀態碼

r.raise_for_status() #返回錯誤狀態碼

複製**

若編碼出錯,則r.text.encode('utf-8')

#初始化乙個session物件

s = requests.session()

#使用這個session物件來進行訪問

prepped1 = requests.request('post', url1,

data=data,

headers=headers

).prepare()

s.send(prepped1)

#或 r = s.post(url,data = user)

複製**

其他的一些訪問方式: >>> r = requests.put("") >>> r = requests.delete("") >>> r = requests.head("") >>> r = requests.options("")

該筆記描述那麼多方面,好像只是講了requests模組的引數而已。這也說明了它的強大,但是前提是你必須懂對應的原理。引數如下:

json: json資料傳到requests的body

headers: http headers的字典傳到requests的header

cookies: 可以使用字典或者cookiejar object

files: 字典 來實現multipart encoding upload, 2引數元組 ('filename', fileobj), 3引數元組 ('filename', fileobj, 'content_type')或者 4引數元組 ('filename', fileobj, 'content_type', custom_headers), 其中'content-type' 用於定於檔案型別和custom_headers檔案的headers

auth: auth元組定義用於basic/digest/custom http auth

timeout: 連線等待時長

allow_redirects: 布林型, true代表post/put/delete只有的重定向是允許的

proxies: **的位址

verify: 用於認證ssl證書

cert: string代表ssl client證書位址(.pem) tuple代表('cert', 'key')鍵值對

複製**

requests庫的使用

requests 功能和 urllib一樣 將cookies 和 http變成了引數 re requests.get re requests.post print re.text 會亂碼,requests轉馬時基於http頭部推測轉碼 print re.encoding 一般都轉為iso 8859 ...

requests庫的使用

1.requests庫概述 requests庫是乙個簡潔且簡單處理http請求的第三方庫,它的最大優點是程式編寫過程更接近正常url訪問過程。這個庫建立在python語言的urlib3庫的基礎上,類似這種在其他函式庫之上再封裝功能,提供更友好函式的方式在python語言中十分常見。在python生態...

requests庫的基本使用

import requests response requests.get 檢視響應內容,返回的是已經解碼的內容 response.text 伺服器返回的資料,已解碼。解碼型別 根據http頭部對響應的編碼做出有根據的推測,推測的文字編碼 print type response.text print...