个人学习笔记,方便自己查阅,仅供参考,欢迎交流
2.requests库高级用法
1.文件上传
若有的网站需要上传文件,requests可以模拟提交一些数据。
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)
运行结果:
<RequestsCookieJar[<Cookie _xsrf=sn6poyv7oEtMFtyj5m1azG2GlL9WFRW1 for .zhihu.com/>, <Cookie tgw_l7_route=80f350dcd7c650b07bd7b485fcab5bf7 for www.zhihu.com/>]>
_xsrf=sn6poyv7oEtMFtyj5m1azG2GlL9WFRW1
tgw_l7_route=80f350dcd7c650b07bd7b485fcab5bf7
可以直接用Cookie来维持登录状态。首先登录网站(如简书),将Headers中的 Cookie 内容复制下来。将其设置到Headers 里面,然后发送请求 。
3.会话维持
利用Session,可以做到模拟同一个会话而不用担心Cookies的问题它通常用于模拟登录成功之后再进行下一步的操作。
import requests
requests.get('http://httpbin.org/cookies/set/number/123456789')
r = requests.get('http://httpbin.org/cookies')
print(r.text)
运行结果:
{
"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)
运行结果:
{
"cookies": {
"number": "123456789"
}
}
网友评论