投稿    登录
  《Python3网络爬虫开发实战》赠书活动正在进行中!详情请戳赠书活动!欢迎参与!非常感谢!

快来学习怎么可视化监控你的爬虫

Python 四毛 6664浏览 93评论

大家好,我是四毛,下面是我的个人公众号,欢迎关注。有问题的可以私信我,看到就会回复。

 

更新 2018年08月03日14:39:32

其实可以利用scrapy的扩展展示更多的数据,立个flag,后面更新上来

 

好,开始今天的文章。

今天主要是来说一下怎么可视化来监控你的爬虫的状态

相信大家在跑爬虫的过程中,也会好奇自己养的爬虫一分钟可以爬多少页面多大的数据量,当然查询的方式多种多样。今天我来讲一种可视化的方法。

关于爬虫数据在mongodb里的版本我写了一个可以热更新配置的版本,即添加了新的爬虫配置以后,不用重启程序,即可获取刚刚添加的爬虫的状态数据,大家可以通过关注我的公众号以后, 回复“可视化”即可获取脚本地址

1.成品图

 

这个是监控服务器网速的最后成果,显示的是下载与上传的网速,单位为M。爬虫的原理都是一样的,只不过将数据存到InfluxDB的方式不一样而已, 如下图。

可以实现对爬虫数量,增量,大小,大小增量的实时监控。

 

2. 环境

  • InfluxDb,是目前比较流行的时间序列数据库;
  • Grafana,一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源
  • Ubuntu
  • influxdb(pip install influxdb)
  • Python 2.7

 

3. 原理

获取要展示的数据,包含当前的时间数据,存到InfluxDb里面,然后再到Grafana里面进行相应的配置即可展示;

4. 安装

    4.1 Grafana安装

             官方安装指导

安装好以后,打开本地的3000端口,即可进入管理界面,用户名与密码都是admin

     4.2 InfulxDb安装

这个安装就网上自己找吧,有很多的配置我都没有配置,就不在这里误人子弟了。

5. InfluxDb简单操作

碰到了数据库,肯定要把增删改查学会了啊, 和sql几乎一样,只有一丝丝的区别,具体操作,大家可以参考官方的文档。

  • influx 进入命令行
  • CREATE DATABASE test 创建数据库
  • show databases 查看数据库
  • use test 使用数据库
  • show series 看表
  • select * from table_test 选择数据
  • DROP MEASUREMENT table_test 删表

6. 存数据

InfluxDb数据库的数据有一定的格式,因为我都是利用python库进行相关操作,所以下面将在python中的格式展示一下:

其中:

  • measurement, 表名
  • time,时间
  • tags,标签
  • fields,字段

可以看到,就是个列表里面,嵌套了一个字典。其中,对于时间字段,有特殊要求,可以参考这里, 下面是python实现方法:

所以,到这里,如何将爬虫的相关属性存进去呢?以MongoDB为例

完整代码,关注上面的公众号,发送“”可视化“”即可获取。

那么现在我们已经往数据里存了数据了,那么接下来要做的就是把存的数据展示出来。

7.展示数据

7.1 配置数据源

以admin登录到Grafana的后台后,我们首先需要配置一下数据源。点击左边栏的最下面的按钮,然后点击DATA SOURCES,这样就可以进入下面的页面:

点击ADD DATA SOURCE,进行配置即可,如下图:

其中,name自行设定;Type 选择InfluxDB;url为默认的http://localhost:8086, 其他的因为我前面没有进行配置,所以默认的即可。然后在InfluxDB Details里的填入Database名,最后点击测试,如果没有报错的话,则可以进入下一步的展示数据了;

7.2 展示数据

点击左边栏的+号,然后点击GRAPH

接着点击下图中的edit进入编辑页面:

从上图中可以发现:

  •   中间板块是最后的数据展示
  • 下面是数据的设置项
  • 右上角是展示时间的设置板块,在这里可以选择要展示多久的数据

7.2.1 配置数据

  1. 在Data Source中选择刚刚在配置数据源的时候配置的NAME字段,而不是database名。
  2. 接着在下面选择要展示的数据。看着就很熟悉是不是,完全是sql语句的可视化。同时,当我们的数据放到相关的字段上的时候,双击,就会把可以选择的项展示出来了,我们要做的就是直接选择即可;
  3. 设置右上角的时间,则可以让数据实时进行更新与展示

因为下面的配置实质就是sql查询语句,所以大家按照自己的需求,进行选择配置即可,当配置完以后,就可以在中间的面板里面看到数据了。

 

 

8. 总结

到这里,本篇文章就结束了。其中,对于Grafana的操作我没有介绍的很详细,因为本篇主要讲的是怎么利用这几个工具完成我们的任务。

同时,里面的功能确实很多,还有可以安装的插件。我自己目前还是仅仅对于用到的部分比较了解,所以大家可以查询官方的或者别的教程资料来对Grafana进行更深入的了解,制作出更加好看的可视化作品来。

最后,关注公众号,回复“可视化” 即可获取本文代码哦

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载请注明:静觅 » 快来学习怎么可视化监控你的爬虫

喜欢 (19)or分享 (0)

想学更多爬虫知识?《Python3网络爬虫开发实战》这本书也许更适合你~

了解详情or立即购买

我的个人微信公众号

扫码或搜索:进击的Coder

进击的Coder

微信公众号 扫一扫关注

想结交更多的朋友吗?

来进击的Coder瞧瞧吧

进击的Coder

QQ群号 99350970 立即加入

进击的Coder灌水太多?

这里是纯粹的技术领地

激进的Coder

QQ群号 627725766 立即加入

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(93)个小伙伴在吐槽
  1. vrQgNHYX cialis nebenwirkungen
    cialis pills for men2018-10-18 12:13 (1分钟前)回复
  2. sRC6Pemd tadalafil research chemical
    sildenafil vs tadalafil2018-10-18 11:36 (38分钟前)回复
  3. R0xv3N6n cialis coupons
    cialis 5 mg2018-10-18 02:59 (9小时前)回复
  4. tJI8zWMT cipro diarhea
    side effects cipro2018-10-17 23:19 (13小时前)回复
  5. OGgMFRgm cipla tadalafil
    research tadalafil2018-10-17 22:35 (14小时前)回复
  6. 1Bt66Cf4 how much does viagra cost
    how to get viagra2018-10-17 12:32 (24小时前)回复
  7. F7LXGrQS viagra cost
    viagra alternative2018-10-17 11:06 (1天前)回复
  8. PemAZckL alcohol and cephalexin
    what is cephalexin for2018-10-17 09:08 (1天前)回复
  9. LA39bDn8 biaxin pregnancy
    biaxin for acne2018-10-17 07:57 (1天前)回复
  10. 9T9NwhKV cialis for daily use
    cialis cost2018-10-17 01:07 (1天前)回复
  11. PInFqt8E levitra free sample
    levitra for women2018-10-16 22:48 (2天前)回复
1 4 5 6