以百度网站为例:
调用status_code后,会返回一个值,如果返回值为200,则代表访问成功。
接着使用text查看内容:
我们会发现有许多乱码,因此就需要改变编码方式。
下面是爬虫通用代码框架:
r.raise_for_status()用来判断status_code的返回值,如果不是200,则返回一个HTTPError异常。
异常 | 说明 |
---|
requests.ConnectionError | 网络连接错误异常, 如DNS查询失败,拒接连接等 |
requests.HTTPError | HTTP错误异常 |
requests.URLRequired | URL缺失异常 |
requests.TooManyRedirects | 超过最大重定向次数,产生重定向异常 |
requests.ConnectTimeout | 连接远程服务时,超时异常 |
requests.Timeout | 请求URL超时, 产生超时异常 |
方法 | 说明 |
---|
requests.request() | 构造一个请求,支撑以下各种方法的基础方法 |
requests.get() | 获取HTML网页的主要方法,对应于HTTP的GET |
requests.head() | 获取HTML网页头信息的方法, 对应HTTP的HEAD |
requests.post() | 向HTML网页提交POST请求的方法, 对应于HTTP的POST |
requests.put() | 向HTML网页提交PUT请求的方法,对应于HTTP的PUT |
requests.patch() | 向HTML网页提交局部修改请求,对应于HTTP的PATCH |
requests.delete() | 向HTML页面提交删除请求,对应于HTTP的DELETE |
方法 | 说明 |
---|
GET | 请求获取URL位置资源 |
HEAD | 请求获取URL位置资源的响应报告,即获得该资源的头部信息 |
POST | 请求向URL位置的资源后添加新的数据 |
PUT | 请求向URL位置储存一个资源,覆盖原URL位置的资源 |
PATCH | 请求局部更新URL位置的资源,即改变该处资源的部分内容 |
DELETE | 请求删除URL位置储存的资源 |
4.1.1 method
请求方式,对应GET、POST、PUT等七种操作方法
4.1.2 url
文本连接
4.1.3 **kwargs对应的13个参数
参数 | 说明 |
---|
params | 字典或字节序列,作为参数增加到url中 |
data | 字典,字节序列或文件对象,作为request的内容 |
json | JSON格式的数据,作为request的内容 |
headers | 字典,HTTP定制头 |
cookies | 字典或cookieJar, request中的cookie |
auth | 元组,支持HTTp认证功能 |
files | 字典类型,传输文件 |
timeout | 设定超时时间,秒为单位 |
proxies | 字典类型,设定访问代理服务器,可以增加登录认证 |
allow_redirects | 重定向开关,默认为True |
stream | 获取内容立即下载开关,默认为True |
verify | 认证SSL证书开关,默认为True |
cert | 本地SSL证书路径 |
4.1.4 具体使用方法
以params和headers为例,其他类似:
| |
---|
1、 | requests.get(url, params=None, **kwargs) |
2、 | requests.head(url, **kwargs) |
3、 | requests.post(url, data=None, json=None, **kwargs) |
4、 | requests.put(url, data=None, **kwargs) |
5、 | requests.patch(url, data=None, **kwargs) |
6、 | requests.delete(url, **kwargs) |