原标题:用python打造可视化爬虫监控系统,酷炫的图形化界面

本文并不是讲解爬虫的相关技术实现的,而是从实用性的角度,将抓取并存入 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的道路上奔跑,欢迎你加入python学习群:839383 765 群内每天都会分享最新业内资料,企业项目案例,分享python免费课程,共同交流学习,让学习变(编)成(程)一种习惯!返回搜狐,查看更多

责任编辑:

python拿什么做可视化界面好-用python打造可视化爬虫监控系统,酷炫的图形化界面...相关推荐

  1. python中turtle画酷炫图案-用python打造可视化爬虫监控系统,酷炫的图形化界面

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

  2. python做炫酷的界面_用python打造可视化爬虫监控系统,酷炫的图形化界面

    安装 InfluxDB 修改配置文件/usr/local/etc/influxdb.conf,如果原文件中没有对应配置项,需自己添加. 3. 安装配置 Grafana 安装 Grafana 并修改 G ...

  3. 数据可视化?不如用最经典的工具画最酷炫的图(EXCEL/PPT)

    前言:大家好,这里是Seon塞翁.做数据分析和做科普是类似的,科普的意义在于将晦涩难懂的科学知识,以让大众更易接受和理解的方式呈现.而数据分析中的数据可视化做的正是如此关键中的关键,即是将数据的特点以 ...

  4. 启动LINUX系统后,进入图形化界面的命令

    1.进入xWindow的命令 $startx回车 或者修改/etc/inittab文件 cd /etc vi inittab 寻找: id:3:initdefault: 改为: id:5:initde ...

  5. 图形化界面设计软件简要介绍

    图形化界面设计软件简要介绍 [摘要]:面向使用者的系统工程设计,其目的是要准确.快速地在设计者和使用者之间传递信息和实现功能,也是优化产品性能来适应大众的操作能力,减轻使用者的认知负担.成功的系统工程 ...

  6. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  7. java网络编程作业基于UDP简单聊天窗口,图形化界面,包含客户端和服务端

    //郑州轻工业大学 //题号:实验四 第二题 //题目:使用基于UDP的网络编程方法,完成客户端和服务器间的聊天功能.要求图形界面. java网络编程作业 基于UDP简单聊天窗口,图形化界面,包含客户 ...

  8. kali 进不去桌面,kali因更新软件进不去图形化界面

    起因: 今天在更新软件的时候,打开虚拟机发现无法进入图形界面,只有命令行模式,估计图形化界面出了问题,于是搜索kali无法打开图形化界面的原因 我预测应该是在更新的时候  网络中断,或者网不好导致桌面 ...

  9. MySQL57图形化建表_Navicat 创建数据库和表之图形化界面方法

    本文主要介绍 Navicat 连接 MySQL 使用,创建数据库和表. 创建之前,我们需要一台已经配置好MySQL数据库和安装了Navicat客户端的电脑. 使用Navicat创建数据库和表有两种方法 ...

最新文章

  1. 设计模式-观察者模式 实现
  2. 1、数据库为什么需要备份?
  3. 保姆级教学:缓存穿透、缓存击穿和缓存雪崩!
  4. scala case class与class区别
  5. 知识改变命运 股市改变人生
  6. js案例:动态生成表格
  7. 服务过载保护设计与实施
  8. 架构中的应用-XTT 篇
  9. 如何选小盘绩优股,分析小盘股的优势和劣势
  10. 维盟无线ap服务器地址,让WiFi飞起来!维盟室外无线AP桥接与中继配置方案
  11. 卡内基梅隆 计算机音乐,卡内基梅隆大学音乐技术专业申请要求
  12. 正确插入目录并且自由更新
  13. FINN(二)CNN,BNN及其硬件实现的背景知识
  14. Windows系统NodeJs安装及环境配置
  15. Java 初学者做的第一个微信小程序--关于Java基础
  16. 数据库+算法+职业操守
  17. 施工图审制度全面取消:图审单位退场,整顿建筑设计行业乱象
  18. 《终身成长》读书摘记
  19. dataFrame的多条件筛选
  20. 线性回归预测--家庭用电功率与时间的关系功率与电流的关系

热门文章

  1. python处理文本文件 提取英文单词看成一个整体_任意一个英文的纯文本文件,统计其中的单词出现的个数(shell python 两种语言实现)...
  2. 指针 是否相同_c专题之指针---野指针和空指针解析
  3. (转载)封装bilibili播放器,自定义边下边播和缓存功能
  4. 循环神经网络(RNN, Recurrent Neural Networks)——无非引入了环,解决时间序列问题...
  5. LMDB中的mmap、Copy On Write、MVCC深入理解——讲得非常好,常来看看!
  6. mysql 按条件更新
  7. 洛谷P3183食物链题解
  8. windows下php配置redis
  9. Math对象及相关方法
  10. 理解一下jQuery.extend()和jQuery.fn.extend()方法