接下来我将会用一段时间来更新python爬虫html
网络爬虫大致能够分为三个步骤。python
首先创建请求,爬取所需元素;网络
其次解析爬取信息,剔除无效数据;app
最后将爬取信息进行保存;python爬虫
今天就先来说讲第一步,请求库requests函数
request库主要有七个经常使用函数,以下所示网站
而经过requests建立的数据类型为response编码
咱们以爬取百度网站为例spa
import requests as r t=r.get("https://www.baidu.com/") print(type(t))
运行结果以下所示code
<class 'requests.models.Response'>
[Finished in 1.3s]
那么做为请求对象,具备哪些属性呢?
爬取数据第一步要作的事即是确认是否链接成功
status_code()从功能角度考虑,算的上是一种判断函数,调用将会返还结果是否成功
若是返回结果为200,则表明链接成功,若是返回结果为404,则表明链接失败
import requests as r t=r.get("https://www.baidu.com/") print(type(t)) print(t.status_code)
如图所示返回结果为200,链接成功
那么下一步即是得到网址代码,不过在得到代码以前,还须要作一件事,获得响应内容的编码方式
不一样的编码方式将会影响爬取结果
好比说百度网址:https://www.baidu.com/
采用编码方式为ISO-8859-1
获取编码方式为encoding
以下所示
import requests as r t=r.get("https://www.baidu.com/") print(type(t)) print(t.status_code) print(t.encoding)
结果:
<class 'requests.models.Response'>
200
ISO-8859-1
固然有的网页采用 utf8,也有使用gbk,
不一样的编码方式会影响咱们得到的源码
也能够经过手动更改来改变得到的编码方式
好比:
import requests as r t=r.get("https://www.baidu.com/") print(t.encoding) t.encoding="utf-8" print(t.encoding)
结果
也能够试着备选码方式,apparent_encoding
以后咱们就能够得到源代码了,咱们须要将源代码以字符串类型输出保存
这就须要用到text
以下所示:
import requests as r t=r.get("https://www.baidu.com/") print(t.text)
结果:
这样咱们就得到了对应网站的源码,完成了爬虫的第一步
原文出处:https://www.cnblogs.com/lyy135146/p/11921713.html