爬虫(3) - Requests(2) | Requests模块的方法、关键字和响应对象属性总结
7个主要方法
序号 | 方法 | 方法表达式 | 作用 | 参数 |
1 | request | requests.request(method, url, **kwargs) |
构造一个请求,支撑以下各方法的基础方法 |
|
2 | get | requests.get(url, params=None, **kwargs) |
从指定的资源请求数据,是获取HTML网页信息的主要方法,对应HTTP的GET |
|
3 | post | requests.post(url, data=None, json=None, **kwargs) |
向指定的资源提交要被处理的数据,对应HTTP的POST |
|
4 | head | requests.head(url, **kwargs) |
获取HTML网页头部信息的方法,对应HTTP的HEAD |
|
5 | put | requests.put(url, data=None, **kwargs) |
向HTML网页提交PUT请求的方法,对应HTTP的PUT |
|
6 | patch | requests.patch(url, data=None, **kwargs) |
向HTML网页提交局部修改请求,对应于HTTP的PATCH |
|
7 | delete | requests.delete(url, **kwargs) |
向HTML页面提交删除指定资源的请求,对应HTTP的DELETE |
13个关键字参数
**kwargs:控制访问的参数,均为可选项,共13个
序号 | 关键字 | 作用 | 示例 |
1 | params | 字典或字节序列格式,将作为参数增加到url中 | ![]() |
2 | data | data参数的对象一般是字典类型,在发出请求时会自动编码为表单形式。也可以是字节序列或文件对象,作为Request的内容 | ![]() |
3 | json | JSON格式的数据,作为Request的内容。json参数会自动将字典类型的对象转换为json格式 | ![]() |
4 | headers | 字典格式,为请求添加 HTTP 头部信息,模拟浏览器进行访问。headers是解决requests请求反爬的方法之一。 headers中有很多内容,常用的是user-agent 和 host | ![]() |
5 | cookies | cookies参数为字典格式的数据或CookieJar | ![]() |
6 | auth | 身份验证。将用户名和密码以元组形式传递给auth参数时,rqeuests 将使用HTTP的认证功能来应用凭据 | ![]() |
7 | files | 传输文件。支持在一个请求中发送多个文件 | ![]() |
8 | timeout | 用于解决请求超时的问题。以秒为单位限制请求时间,如果服务器在设定的请求时间内没有应答,将引发一个异常 | ![]() |
9 | proxies | 字典类型,设定访问代理服务器,可以增加登陆认证 | ![]() |
10 | allow_redirects | 重定向开关:True / False。默认为True,允许重定向;False禁止重定向 | ![]() |
11 | stream | 获取内容立即下载开关:True / False,默认为True | |
12 | verify | 请求验证SSL证书开关:True / False,默认为True | |
13 | cert | 本地SSL证书路径。用于指定一个本地有效安全证书作为客户端证书 | ![]() |
响应对象常用属性
序号 | 方法 | 说明 |
1 | status_code | HTTP请求的返回状态,200表示连接成功,404表示失败 |
2 | text | HTTP响应内容的字符串形式,即,url对应的页面内容,返回体 |
3 | content | HTTP响应内容,以二进制流的形式,返回 |
4 | headers | 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None |
5 | json() | 返回json格式的返回结果,Requests中内置的JSON解码器获取URL |
6 | url | 获取URL |
7 | encoding | 从HTTP header中猜测的响应内容编码方式 |
8 | apparent_encoding | 从内容分析出的响应内容编码方式(备选编码方式) |
9 | cookies | 获取cookie的对象,里面数据和字典类似,通过cookies对象["键值"]获取cookies内容 |
10 | raw | 返回原始响应体 |
11 | raise_for_status() | 返回失败请求抛出的异常(非200状态码的异常) |
请求对象常用属性
在上述响应对象方法前面加上request即可,例如
查看请求头信息
import requests r=requests.get("https://dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white-d0c9fe2af5.png") print(r.request.headers)