個(gè)人學(xué)習(xí)筆記默垄,方便自己查閱砸烦,僅供參考,歡迎交流
2.requests庫(kù)高級(jí)用法
1.文件上傳
若有的網(wǎng)站需要上傳文件听盖,requests可以模擬提交一些數(shù)據(jù)胀溺。
import requests
files ={'file':open('favicon.ico','rb')}
r = requests.post("http://httpbin.org/post",files = files)
print(r.text)
2.Cookies
import requests
r = requests.get("https://www.zhihu.com")
print(r.cookies)
for key,value in r.cookies.items():
print(key + '=' + value)
運(yùn)行結(jié)果:
<RequestsCookieJar[<Cookie _xsrf=sn6poyv7oEtMFtyj5m1azG2GlL9WFRW1 for .zhihu.com/>, <Cookie tgw_l7_route=80f350dcd7c650b07bd7b485fcab5bf7 for www.zhihu.com/>]>
_xsrf=sn6poyv7oEtMFtyj5m1azG2GlL9WFRW1
tgw_l7_route=80f350dcd7c650b07bd7b485fcab5bf7
可以直接用Cookie來(lái)維持登錄狀態(tài)。首先登錄網(wǎng)站(如簡(jiǎn)書(shū))皆看,將Headers中的 Cookie 內(nèi)容復(fù)制下來(lái)仓坞。將其設(shè)置到Headers 里面,然后發(fā)送請(qǐng)求 悬蔽。
3.會(huì)話維持
利用Session扯躺,可以做到模擬同一個(gè)會(huì)話而不用擔(dān)心Cookies的問(wèn)題它通常用于模擬登錄成功之后再進(jìn)行下一步的操作。
import requests
requests.get('http://httpbin.org/cookies/set/number/123456789')
r = requests.get('http://httpbin.org/cookies')
print(r.text)
運(yùn)行結(jié)果:
{
"cookies": {}
}
import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/number/123456789')
r=s.get('http://httpbin.org/cookies')
print(r.text)
運(yùn)行結(jié)果:
{
"cookies": {
"number": "123456789"
}
}