requests库的基础使用方法
1 安装requests库
输入命令行:
pip install requests
2 requests库7个主要方法
使用方法 | 用途介绍 |
---|---|
requests.request() | 构造一个请求 |
requests.get() | 获取HTML网页 |
requests.head() | 获取HTML网页头信息 |
requests.post() | 向HTML提交post请求 |
requests.put() | 向HTML提交put请求 |
requests.patcht() | 向HTML提交局部修改 |
requests.delete() | 向HTML提交删除请求 |
3 requests库的使用
主要方法:
# 获取HTML页面
r = requests.get(url)
常用方法:
# 察看状态码,若值为200,则访问成功
r.status_code
# url对应的页面内容
r.text
# 从HTTP header中猜测出响应内容的编码方式
r.encoding
# 从内容中分析出响应内容的编码方式
r.apparent_encoding
# HTTP响应内容的二进制形式
r.content
注意:如果 HTTP header 中不存在 charset ,则 r.encoding 返回值为:ISO-8859-1
通常来说,编码方式为: ’ utf-8 '
4 requests库支持六种异常
异常 | 内容 |
---|---|
requests.ConnectionError | 网络连接错误 |
requests.HTTPError | HTTP错误 |
requests.URLRequired | URL缺失 |
requests.TooMany Redirects | 超出最大重定向次数 |
requests.ConnectTimeout | 连接远程服务器超时 |
requests.Timeout | 请求URL超时 |
5 requests.request(method, url, **kwargs)介绍
参数 | 作用 |
---|---|
method | 请求方法,对于get、put、post七种 |
url | 网页链接 |
params | 字典或者字节序列,作为参数加到url中 |
data | 字典或者字节序列,作为request的内容 |
json | JSON格式数据,作为request内容 |
headers | 字典,HTTP定制头 |
cookies | 字典或CookieJar,Request中的cookie |
auth | 元组,支持HTTP认证功能 |
files | 字典类型,传输文件 |
timeout | 设定超时时间,s为单位 |
proxies | 字典类型,设置访问代理服务器,增加登陆认证 |
allow_redirects | 返回Ture&False,获取内容下载开关 |
stream | 返回Ture&False,默认Ture,获取内容下载开关 |
verify | 返回Ture&False,默认True,认证SSL证书开关 |
cert | 本地SSL证书 |
6 代码示例
import requests
def get_html(url):
try:
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/68.0.3440.106 Safari/537.36'}
r = requests.get(url, timeout = 20, headers = header)
r.raise_for_status() # 如果状态不是200,则引发HTTPError异常
r.encoding = r.apparent_encoding
return r.text
except:
print("访问异常")
return None
注意:r.encoding = r.apparent_encoding 处理时会耗费大量时间,因此访问固定网站时,可以直接查看其编码方式后赋值给r.encoding,从而加快爬虫爬取速率。