本文介绍的是根据我的从业多年的经验在巨人的肩膀上开发的数据采集应用,也就是我们俗称的爬虫系统。说到系统就不是单独的爬虫脚本,是整个一套自动化采集的内容。因为尝试过很多种方式构建这套系统,这里把最简单容易实现且效果最好的内容分享出来。现在各大每日与数据相关的企业基本都采用这种数据采集技术,简单、快捷、实用。这里简述一下基于Python的产品设计与应用。

编程语言:Python

使用框架:Scrapy、Gerapy

数据仓库:Mongodb

其他内容:IP池

简单说一下大致业务流程。

1. 安排数据抓取的目录进行整理到文档。

2. 根据文档编写Scrapy爬虫脚本。

3. 在Gerapy中部署Scrapy脚本并且进行相关设置实现24小时自动化采集。

对应还会出现一些问题。

1. 抓取的网站失效了怎么发现?

2. IP池如何使用?

3. 部署中随时遇见的各种坑。

4. 抓取的数据后续如何使用?

等等使用中各种问题可以去查询我的技术文章,这里只介绍业务流程与功能使用。

言归正传,开始正式的内容

打开网易新闻 查看精彩图片

整理数据采集文档

使用比较笨的方式而不是穷尽的方式进行采集的话,这个步骤是不可避免的。就是整理好我们要抓取的目标页面。按照Scrapy抓取的格式要求进行整理。

举个例子,比如说新华网、人民网,这个网站页面是其实比较多的,而且由于页面CSS不一样所以要进行分类整理就比较恶心了,不过一次整理后续随便使用。

打开网易新闻 查看精彩图片

在记录的表单中整理成这样,脚本名称对应的Spider下的py文件。

打开网易新闻 查看精彩图片

这些页面整理好的Scrapy脚本是下图这样。

打开网易新闻 查看精彩图片

Scrapy框架爬虫脚本的编写

然后根据模板进行数据采集脚本的编写,我自己根据我的习惯写了一套脚本。

打开网易新闻 查看精彩图片

根据模板所有抓取数据的页面都根据这个模板去套用就可以了。然后在你本地调试好,确保数据可以写入Mongodb中。

打开网易新闻 查看精彩图片

Gerapy框架部署实现7*24自动化数据采集

部署好主机,如果你有多个机器的话可以分开部署同样的脚本,也可以不同机器部署不同的脚本,根据喜好吧。这里的项目就是上面Scrapy写好可以执行的脚本。

打开网易新闻 查看精彩图片

然后根据项目打包、部署。

打开网易新闻 查看精彩图片

部署完成之后,设置写好的Spider下的爬虫脚本。

打开网易新闻 查看精彩图片

这里部署脚本可以设置各种参数比如说每次执行的间隔,开始时间之类的。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

这样部署好之后就可以做到全自动进行数据采集了。

最后我们进入Mongodb看看采集的数量吧。

打开网易新闻 查看精彩图片