pythonPythonpython爬虫

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

2018-12-20  本文已影响605人  妄心xyx

1. 前言

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

在开始之前,先对 Grafana 和 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 窗口,运行爬虫文件。

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

爬虫文件运行成功

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

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

怎么样?学会了吗?

上一篇 下一篇

猜你喜欢

热点阅读