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...