爬虫的一般流程
1.发送请求解析数据
通过requests库或者urllib库发送网络请求并解析数据,从而获取网络的源代码文本。
2.设定提取规则
通过设定提取规则,可以使用re或者BeautifulSoup选择从网站上爬取的内容。
3.保存数据
可以选用pandas对文本类数据进行保存。
附:以上流程也可以通过爬虫框架如scrapy实现。
获取页面源代码
这里介绍两种获取网页解析内容的方式——urllib和requests
1.urllib
在py3中urllib发送请求如下(py2中有所不同)
url='www.xxxxxxx.com'#此处为网址
req=urllib.request.urlopen(url)
可以通过.read获取代码文本
content=req.read()
2.requests
requests发送请求如下
url='www.xxxxxxxx.com'#此处为网址
req=requests.get(url)
通过.text获取源代码文本内容
content=req.text
设定提取规则
前言
我们上一步获取的content本质上就是一个包含了网页源代码的字符串,我们要从其中提取信息,实际上就是对字符串的操作,接下来将主要介绍用BeautifulSoup进行信息提取。
节点介绍
我们可以在要操作的网页上右键进行检查
鼠标移到的地方便会有对应的代码,每个形如<div都是一个节点。
<a href="/datainfo/viewCar?carId=275014" target="_blank">华通牌</a>
对于上面的代码a是节点,href为属性,华通牌为文本,/a表示节点的结束。
基本用法
先通过BeautifulSoup进行解析
soup=BeautifulSoup(content,'lxml')#content是我们