当前位置:
首页 > Python基础教程 >
-
Python3基础之Requests库
Requests库
`
1.Response对象的属性
属性 | 说明 |
---|---|
r.status_code | HTTP请求返回的状态,200表示成功,404表示失败,还有其他的也代表失败 |
r.text | HTTP响应内容转换成字符串格式 |
r.content | HTTP响应内容转换成二进制格式 |
r.encoding | 从HTTP header中猜测响应内容 |
r.apparent_encoding | 从内容中分析响应内容的编码方式(备选编码方式) |
r.encoding
与r.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异常
举例:通用爬取的框架
import requests def get_html_text(url): try: r =requests.get(url,timeout=30) r.raise_for_status() #如果不是200,引发HTTPError异常 r.encoding = r.apparent_encoding return r.text except: return '产生异常' if __name__ == '__main__' #在pycharm中你可以直接main+Tab快速出这行 get_html_text(https://www.cnblogs.com/pythonywy)
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证书路径
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式