requests傳送post、get請求
阿新 • • 發佈:2018-12-27
1、最基本的POST請求可以使用post方法
response = requests.post("http://www.baidu.com",data=data)
2、穿入data
這時候就不要使用urlencode進行編碼了,直接穿入一個字典進去就可以了。比如請求拉勾網的資料的程式碼
import request url = "https://www.lagou.com" header ={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' } data = { 'first':'true', 'pn':1, 'kd':'python' } resp = requests.post(url,header = header, data = data) #如果使用代理 resp = requests.get(url,header = header,proxies=proxy) #如果是json資料,直接可以呼叫json方法 print(resp.json())
#傳送post請求
傳送post請求非常簡單。直接呼叫'request.post'方法就可以了
如果返回的是json資料。那麼可以呼叫'response.json()'
來將json字串轉換為字典或列表
requests處理cookie資訊
cookie:
如果在一個相應包含了cookie,那麼可以利用cookies屬性拿到這個返回的cookie值:
import requests
url = 'http://www.XXX.com'
data = '{"email":"[email protected]","password":"python"}'
resp = requests.get('http://www.baidu.com')
print(resp.cookies)
print(resp.cookies.get_dict())
session:
之前使用urllib庫,是可以使用opener傳送多個請求,多個請求之間是可以共享cookie的。那麼如果使用requests,也要達到共享cookie的目的,那麼可以使用requests庫給我們提供的session物件。這裡的session不是web開發中的那個session,這個地方只是一個會話的物件而已。
#登入
session = requests.session()
session.post(url,data = data,header=header)
resp = session.get('http://www.renren.com')
print(resp.text)