Python爬虫笔记

python爬虫day-12(requests库高级用法)

2019-04-16  本文已影响0人  南音木

个人学习笔记,方便自己查阅,仅供参考,欢迎交流

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"
}
}

4.SSL证书验证
5.代理设置
6.超时设置
7.身份认证
8. Prepared Request
上一篇 下一篇

猜你喜欢

热点阅读