一、Requests库的安装
Win平台: “以管理员身份运行”cmd,执行 pip install requests
二、Requests库
方法 | 说明 |
---|---|
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 |
1) requests.get()方法
r=requests.get(url)
获取一个网页的最简单的代码便是如此。get方法和url(网站地址)可以构造一个向服务器请求资源的Request对象,注意大小写敏感,requests.get(url)返回的内容用变量r表示,这个r便是Response对象。
先看一段代码
里面用到的一些:
属性 | 说明 |
---|---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示失败 |
r.text HTTP | 响应内容的字符串形式,即,url对应的页面内容 |
r.encoding | 从HTTP header中猜测的响应内容编码方式 |
r.apparent_encoding | 从内容中分析出的响应内容编码方式(备选编码方式) |
r.content HTTP | 响应内容的二进制形式 |
注意:
这段代码中应该特别注意r.encoding和r.apparent_encoding
r.encoding | 从HTTP header中charset字段获得编码方式,如果header中不存在charset,则认为编码为ISO‐8859‐1,可以比较上面代码。 |
r.apparent_encoding | 根据网页内容分析出的编码方式可以看作是r.encoding的备选,其实就是实实在在的分析内容找到编码。 |
r.text会根据r.encoding显示网页内容,所以一开始提取内容中乱码,当把正确编码赋值给r.encoding就ok了。
进阶:
params : 字典或字节序列,作为参数增加到url中
12个参数
data | 字典、字节序列或文件对象,作为Request的内容 |
json | JSON格式的数据,作为Request的内容 |
headers | 字典,HTTP定制头 |
cookies | 字典或CookieJar,Request中的cookie |
auth | 元组,支持HTTP认证功能 |
files | 字典类型,传输文件 |
timeout | 设定超时时间,秒为单位 |
proxies | 字典类型,设定访问代理服务器,可以增加登录认证 |
allow_redirects | True/False,默认为True,重定向开关 |
stream | True/False,默认为True,获取内容立即下载开关 |
verify | True/False,默认为True,认证SSL证书开关 |
cert | 本地SSL证书路径 |