Python requests库(二)

作者: 伊洛的小屋 | 来源:发表于2020-01-04 16:31 被阅读0次

本文是Python requests库 (一)的后续,简单的介绍一下python第三方库 requests的一些简单的高级用法

本文首发于伊洛的个人博客:https://yiluotalk.com,欢迎关注并查看更多内容!!!

1. 文件上传
  • 通过request 上传一张photo
>>> import requests
>>> files = {'file':open('photo.jpg', 'rb')}
>>> r = requests.post('http://httpbin.org/post', files=files)
>>> print(r.text)
2. 获取 cookies
  • 访问知乎,然后获取cookies
>>> import requests
>>> r = requests.get("https://www.zhihu.com")
>>> print(r.cookies)
<RequestsCookieJar[<Cookie _xsrf=kpkc08adzcWJ2IZXxQAh85ujvtFiPArj for .zhihu.com/>]>
3. 会话维持
  • 如果需要访问的网页是需要登陆之后再使用的话就需要会话维持,一般在做接口自动化测试或者爬虫一些网站的时候,都是需要保持登录态
>>> import requests
>>> requests.get("http://httpbin.org/cookies/set/number/123456789")
<Response [200]>
>>> r = requests.get('http://httpbin.org/cookies')
>>> print(r.text)
{
  "cookies": {}
}
  • 上面并没有获取到cookies ,因为request设置cookie和后来的获取cookie相当于打开了两个浏览器
  • 如何解决这个问题,我们需要用到session ,这是在自动化接口测试或者爬虫中经常会被用到,有必要掌握
>>> import requests
>>> s = requests.Session()
>>> s.get('http://httpbin.org/cookies/set/number/123456789')
<Response [200]>
>>> r = s.get('http://httpbin.org/cookies')
>>> print(r.text)
{
  "cookies": {
    "number": "123456789"
  }
}
  • 以上,成功保持会话
4. SSL证书验证
  • 你肯定会有过类似的这种经历,当你打开一个网页的时候会提示你访问的地址不安全,这是由于https协议需要证书
  • 程序访问后一定会报出 SSLError错误
  • 解决方式
    1.设置verify = False
    2.传入证书 cert="你的证书"
5.代理设置
  • 爬虫的时候通常会设置代理
  • 方式在proxies=输入你的代理
6. 超时设置
# 伊洛Yiluo
# https://yiluotalk.com
>>> import requests
>>> r = requests.get("https://yiluotalk.com", timeout = 1)
>>> print(r.status_code)
200
7.身份认证
  • 一些网站当你访问的时候首先会让你登录做验证
  • 解决方式,传入auth 参数 auth=HTTPBasicAuth('user', 'password')

欢迎下方【戳一下】【点赞】
Author:伊洛Yiluo
愿你享受每一天,Just Enjoy !

关注公众号获取更多内容

相关文章

网友评论

    本文标题:Python requests库(二)

    本文链接:https://www.haomeiwen.com/subject/fiqpgctx.html