1.Requests 的7个方法
requests.requests() | 构造一个请求,支撑一下各种方法的基础方法 |
---|
requests.get() | 获取HTML网页的主要方法,对应HTTP的GET |
requests.head() | 获取HTML网页头信息的方法,对应HTTP的HEAD |
requests.post() | 向HTML网页提交POST请求的方法,对应POST |
requests.put() | 向HTML网页提交PUT请求的方法,对应PUT |
requests.patch() | 向HTML网页提交局部修改请求,对应PATCH |
requests.delete() | 向HTML页面提交删除请求,对应HTTP的DELETE |
2. r = requests.get(url,params=None,**kwargs)
参数/对象 | 功能 |
---|
r | 返回的Response对象,包含服务器返回的所有内容和请求的Requests信息 |
url | 拟获取页面的url链接 |
params | url中额外参数,字典或字节流格式,可选 |
**kwargs | 12个控制访问参数 |
**kwargs | 描述 |
---|
params | 字典或字节序列,作为参数增加到url中 |
headers | 字典,HTTP定制头,可模拟浏览器访问 |
timeout | 设定超时时间,单位为秒 |
cookies | 字典或CookieJar,Request中的cookie |
data | 字典、字节序列或文件对象,作为Request的内容 |
json | JSON格式的数据,作为Request的内容 |
proxies | 字典类型,设定访问代理服务器,可增加登录认证 |
allow_redirects | True/False,默认为True,重定向开关 |
stream | True/False,默认为True,获取内容立即下载开关 |
auth | 元组,支持HTTP认证功能 |
verify | True/False,默认为True,认证SSL证书开关 |
files | 字典类型,传输文件 |
cert | 本地SSL证书路径 |
- params、headers的应用
import requests
url = 'http://www.baidu.com'
try:
kv = {'user-agent':'Mozilla/5.0'}
kw = {'wd':'Python'}
r = requests.get(url,headers=kv,params=kw)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text)
except:
print("爬取失败")
```
3.Response对象的属性
属性 | 说明 |
---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示连接失败 |
r.text | HTTP响应内容的字符串形式,即url对应的页面内容 |
r.headers | HTTP响应内容的头部信息 |
r.content | HTTP响应内容的二进制形式 |
r.encoding | 从HTTP header中猜测的响应内容编码方式 |
r.apparent_encoding | 从内容中分析出的响应内容编码方式 |
r.request.headers | 请求的Request信息的头部 |
r.request.url | 请求Request信息的url地址 |
属性/方法 | 说明 |
---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示连接失败 |
r.raise_for_status() | 如果不是200,产生requests.HTTPError,常用于异常处理 |
4.爬取网页的通用代码框架
import requests
def getHTMLText(url):
try:
r = requests.get(url,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "产生异常"
if __name__ == "__main__":
url = "http://www.baidu.com"
print(getHTMLText(url))
5.HTTP协议
字段 | 说明 |
---|
host | 合法的Internet主机域名或IP地址 |
port | 端口号,缺省端口为80 |
path | 请求资源的路径 |
requests官方文档