环境
Pycharm v2020.1.EAP + Python v3.8.2 + requests v2.23.0
requests库包含的方法
本质上看,requests库仅有一个request()方法,其余均是此方法的变化形式,主要为方便用户使用。
方法 | 说明 |
---|---|
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 |
因此,更多的是如何根据客户的设置,灵活使用以上所包含的13种参数。
参数名称 | 解释 | 参数名称 | 解释 |
---|---|---|---|
params | 字典或字节序列,可选 | data | 字典、字节序列或文件对象,作为Request的内容 |
json | JSON格式的数据,作为Request的内容 | headers | 字典,HTTP定制头 |
cookies | 字典或CookieJar,Request中的cookie | auth | 元组,支持HTTP认证功能 |
files | 字典类型,传输文件 | timeout | 设定超时时间,秒为单位 |
proxies | 字典类型,设定访问代理服务器,可以增加登陆认证 | allow_redirects | T/F,默认为True,重定向开关 |
stream | T/F,默认为True,获取内容立即下载开关 | verify | T/F,默认为True,认证SSL证书开关 |
cert | 本地SSL证书路径 |
在成功通过Request获取Response后,要通过Response的属性来对数据进行处理。
属性 | 说明 |
---|---|
r.status+code | HTTP请求的返回状态,200表示链接成功,404表示失败 |
r.text | HTTP响应内容的字符串形式,即,url对应的页面内容 |
r.encoding | 从HTTP header中猜测的响应内容编码方式 |
r.apparent_encoding | 从内容中分析出的响应内容编码方式(备选编码方式) |
r.content | HTTP响应内容的二进制形式 |
心得
视频中可以成功爬取的例子,在实际练习的时候,有些无法完成。
尝试后发现最主要是需要添加headers,其次是网站对于请求的链接有变化。
总的来说,只要根据实际情况,灵活运用以上这些内容,就可以完成简单的网站信息爬取工作。