前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Requests库

Requests库

原创
作者头像
小小咸鱼YwY
修改2020-01-17 18:21:58
6240
修改2020-01-17 18:21:58
举报
文章被收录于专栏:python-爬虫python-爬虫

Requests库

`

1.Response对象的属性

属性

说明

r.status_code

HTTP请求返回的状态,200表示成功,404表示失败,还有其他的也代表失败

r.text

HTTP响应内容转换成字符串格式

r.content

HTTP响应内容转换成二进制格式

r.encoding

从HTTP header中猜测响应内容

r.apparent_encoding

从内容中分析响应内容的编码方式(备选编码方式)

r.encodingr.apparent_encoding

  • r.encoding:如果header中不存在charset,则默认编码为ISO-8859-1
  • r.apparent_encoding :根据内容来匹配出合适的编码
  • apparent_encoding比encoding更加准确的展示编码方式

2.Requests库的异常

异常

说明

requests.ConnectionError

网络连接错误异常,如DNS查询失败、拒绝连接等

requests.HTTPErro

HTTP错误异常

requests.URLRequired

URL缺失异常

requests.TooManyRedirects

超过最大重定向次数,产生重定向异常

requests.ConnectTimeout

连接远程服务器超时异常

requests.Timeout

请求URL超时,产生超时异常

  • 如果在r.status_code不是200时候,我们可以r.raise_for_status(),如果不是200,引发HTTPError异常

举例:通用爬取的框架

代码语言:txt
复制

import requests

def get_html_text(url):

代码语言:txt
复制
  try:
代码语言:txt
复制
      r =requests.get(url,timeout=30)
代码语言:txt
复制
      r.raise_for_status() #如果不是200,引发HTTPError异常
代码语言:txt
复制
      r.encoding = r.apparent_encoding
代码语言:txt
复制
      return r.text
代码语言:txt
复制
  except:
代码语言:txt
复制
      return '产生异常'

if name == 'main' #在pycharm中你可以直接main+Tab快速出这行

get_html_text(https://www.cnblogs.com/pythonywy)

代码语言:txt
复制

3.Requests库的方法

3.Requests库的方法

http协议中6个方法

介绍

GET

请求获取url位置的资源

HEAD

请求获取url位置的资源的响应报告,及获得头部信息

POST

请求获取url位置的资源后附加用户新的数据

PUT

请求获取url位置储存一个资源,覆盖原url位置资源

PATCH

请求局部更新url位置资源,及改变该处资源的部分内容

DELETE

请求删除url位置储存的资源

  • 获取云端资源用get,head
  • 把自己资源放入云端用put post patch
  • 删除现有资源del

用url对资源位置的定义

1.patch与put区别

patch可以对于局部修好,put是全部覆盖

requests与协议方法一一对应

方法

介绍

requests.request()

设置请求格式

requests.get()

请求获取url位置的资源

requests.head()

请求获取url位置的资源的响应报告,及获得头部信息

requests.post()

请求获取url位置的资源后附加用户新的数据

requests.put()

请求获取url位置储存一个资源,覆盖原url位置资源

requests.patch()

请求局部更新url位置资源,及改变该处资源的部分内容

requests.delete()

请求删除url位置储存的资源

4.Requests库13个参数

  • params:字典或字节序列,作为参数增加到链接中
  • data:字典,字节序列或文件对象,作为请求的内容
  • json:JSON格式的数据,作为Request的内容
  • headers:字典,HTTP定制头(模拟浏览器进行访问)
  • cookies:字典或CpplieJar,Request中的cookie
  • auth:元祖,支持HTTP认证功能
  • files:字典类型,传输文件
  • timeout:设定超时时间,秒为单位
  • proxies:字典类型,设定访问代理服务器,可以增加登陆认证
  • allow_redirects:True//False,默认为True,重定向开关
  • stream:True/False,默认为True,获取内容立即下载开关
  • verify:True/False,默认为True,认证SSL证书开关
  • cert:本地SSL证书路径

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Requests库
    • 1.Response对象的属性
      • 2.Requests库的异常
        • 3.Requests库的方法
          • 3.Requests库的方法
            • 4.Requests库13个参数
            相关产品与服务
            SSL 证书
            腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档