手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

1. 前言

本文并不是讲解爬虫的相关技术实现的,而是从实用性的角度,将抓取并存入 MongoDB 的数据 用 InfluxDB 进行处理,而后又通过 Grafana 将爬虫抓取数据情况通过酷炫的图形化界面展示出来。

在开始之前,先对 Grafana 和 InfluxDB 做一下简要的介绍:

  • Grafana:是一个开源的分析和监控系统,拥有精美的web UI,支持多种图表,可以展示influxdb中存储的数据,并且有报警的功能。
  • **Influxdb **:是一款开源的时间序列数据库,专门用来存储和时间相关的数据(比如我用它存储某个时间点爬虫抓取信息的数量)。

最终能实现的效果是这样的:

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

请注意以下操作,都是 Mac 下实现的。但是原理是相似的,你可以在自己的 PC 上进行试验。

2. 安装配置 InfluxDB

安装 InfluxDB

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

修改配置文件/usr/local/etc/influxdb.conf,如果原文件中没有对应配置项,需自己添加。

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

3. 安装配置 Grafana

安装 Grafana

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

并修改 Grafana 配置文件 /usr/local/etc/grafana/grafana.ini,内容如下:

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

4. 爬虫代码

由于这里主是要介绍如何将 Grafana 和 InfluxDB 与爬虫进行结合的方案,而不是主讲爬虫原理,而且代码也比较多,影响可读性,所以就不贴出爬取的代码。

5. 监控脚本

考虑到可能要增加爬虫到监控中,因此这里使用了热更新对监控进行动态配置。

配置文件 influx_settings.conf 主要用于热更新相关设置。

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

如何动态读取这个配置文件的设置呢?需要写一个脚本来监控。代码如下:

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

来试着运行一下

python3 influx_monitor.py

运行,得到下图内容,表示监控脚本运行成功。

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

另建窗口,修改配置文件 influx_settings.conf

# 修改间隔时间为8秒
interval = 8

切换至第一次运行 influxDB 的窗口,会提示配置更新,说明配置热更新生效。

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

6. 配置 Grafana

首先打开 Chrome 浏览器,输入 http://127.0.0.1:3000 登录 grafana 页面。

连接本地 influxDB 数据库,操作如下图。

在红色方框内选择 Type 类型为 InfluxDB,并输入URL:http://localhost:8086

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

在红框内输入influxDB数据库名称

新建 dashboard

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

新建 graph 类型 dashboard

修改 dashboard 设置

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

点击红色方框修改设定

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

修改 dashboard 配置

设置监控的数据对象

在监控脚本中,写入influxDB的代码如下,其中 "measurement" 对应 表名,"fields" 对应写入的字段;

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

7. 运行爬虫文件

启动 MongoDB 数据库服务。

brew services mongodb start

新建一个 terminal 窗口,运行爬虫文件。

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

爬虫文件运行成功

我们可以在刚刚打开的控制台里查看效果展示:

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

怎么样?学会了吗?

最后,想学习Python的小伙伴们!

请关注+私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

pytyhon学习资料

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

python学习资料

相关推荐