![](https://i-blog.csdnimg.cn/blog_migrate/9af364d038805b8ea1bf4894954f3ba6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/259b345c3ecdfc6514d26e4033f8acf6.gif)
Python爬虫之request库
从这个文章开始我将写一个关于爬虫学习的系列文章,希望大家持续关注,我会持续进行更新,希望大家共同进步。
request库的get()方法
获取网页最简单的方法也就是request.get()的方法了,下面就让我们来看一下这种方法的使用:
在进行request.get()后函数会返回一个包含服务器资源的Response对象
同时会构造一个向服务器请求资源Request对象
import requests
url = "https://www.baidu.com/"
r = request.get(url)
print(r)
上述代码就是request函数得到网页代码的最简单的方法了,但是这样得到的代码不一定能够正确显示,可能出现乱码的情况,面对这样可能出现的情况,我们可以给他加入参数的方法进行调节,下面进行详细的介绍
request.get()共有三个参数:
request.get(url,parapans = none,**kwargs)
其中 : url代表网页链接
parapans是url的额外参数,可以是字典或者字符串,可有可无
**kwargs表示12个控制访问的参数
request的重要对象——Reponse
Reponse包含了爬虫所爬取回来的所有的内容。
request的使用历程如下:
import requests
url = "https://www.baidu.com"
r = request.get(url)
#打印request返回的所有内容
print (r)
打印r的类型
print(type(r))
#打印函数返回的状态码,若为200表示成功
print(r.status_code)
#带你函数的获得的头部信息
print(r.headers)
request.get()请求最常用的对象属性:
属性 | 说明 |
---|---|
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示失败等等 |
r.text | HTTP相应 内容的字符串形势,即url所对应的页面内容 |
r.enconding | 从HHTTPheader中猜测的编码方式,即可以得到网页的编码方式 |
r.apparent_encoding | 从内容中相应处编码方式 |
r.content | HTTP相应的二进制形势 |
request的使用流程
- 导入requests函数
- 通过r.status_code进行连接是否成功进行判断
- 若2中返回值为200,则进行r.text;r.encoding;r.apparent_enconding;
r.content等操作 - 若2中返回不是200,则需要进行失败原因的查找
理解Reponse的编码
属性 | 说明 |
---|---|
r.encoding | 从HTTTP header中猜测的相应内容编码方式 |
r.apparent_encoding | 从内容中分析出相应内容的编码方式(备选的编码方式) |
区别:
r.encoding:如果header中不存在charset,则默认为编码为ISO-8859-1
r.apparent_encoding:从内容中分析,得到的编码方式比较可靠当r.encoding无法得到编码方式是应使用r.apparent_encoding进行编码方式的分析,分析完后再讲分析出来的值赋予r.encoding。
以上即为本文的全部内容,快去试试你说学到的代码吧,python的学习一定要进行实践,不能只刷视频,不练习,希望本文对你的学习能有帮助。
另外我会对python爬虫进行持续更新。希望大家持续关注
提示学习来源:北京理工大学慕课