返回顶部

requests库(loading.....)

requests库的安装
requests库是公认的爬取网页最好的第三方库
①.首先用管理员权限启用command(cmd)
②.打开控制台 用pip install requests库
如图:

 

测试效果:
 

 

 

 如果anaconda中已经安装了,就利用看上一章节

三.requests库的7个主要方法
 
requests.request() 构造一个请求,支撑一下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应HTTP的GET
requests.head() 获取HTML网页头的信息方法,对应HTTP的HEAD
requests.post() 向HTML网页提交POST请求方法,对应HTTP的POST
requests.put() 向HTML网页提交PUT请求的方法,对应HTTP的RUT
requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML页面提交删除请求,对应HTTP的DELETE
 
①.requests库的get方法
r=requests.get(url) 是获得网页最简单的代码

 

完整用法:r=requests.get(url,params=None,**kwargs)
 
url:拟获取页面的url链接
params:url中的额外参数,字典或字节流格式,是可选的
**kwargs:12个控制访问的参数
 
②.requests库的2个重要对象
Requests
Response:包含爬虫返回内容
 
r=requests.get("http://www.baidu.com") ————>访问百度
>>> r.status_code ———>查看请求的状态码
200 ————>状态码为200就是访问成功,不是200就是访问失败
>>> type(r) ————>检测r的类型
<class 'requests.models.Response'> ————>表示返回的是response类
>>> r.headers ————>返回get返回页面的头部信息
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Wed, 14 Apr 2021 02:40:12 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:27:36 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Connection': 'close', 'Transfer-Encoding': 'chunked'}
 
③.response对象的属性
r.status_code:HTTP请求的返回状态,返回值为200即请求正常,404失败
r.text: HTTP响应内容的字符串形式,即:url对应的页面内容
r.encoding: 从HTTP header中猜测的响应内容编码方式
r.apparent_encoding:从内容中分析出的响应内容编码方式(备选编码方式)
r.content: HTTP响应内容的二进制形式
 
流程:

 

例子:

 

 

Ⅳ.理解Response的编码

r.encoding: 从HTTP header中猜测的响应内容编码方式
如果header中不存在charset,则认为编码为'ISO-8859-1'
r.apparent_encoding:从网页内容中分析出的响应内容编码方式(备选编码方式),r.encoding更加准确
网络资源都有编码,使用有效解析方式是人类可读
 .爬取网页代码的通用框架

posted @ 2021-04-12 23:04  亟年年gi  阅读(118)  评论(0)    收藏  举报