今天主要是來說一下怎么可視化來監(jiān)控你的爬蟲的狀態(tài)。
相信大家在跑爬蟲的過程中,也會好奇自己養(yǎng)的爬蟲一分鐘可以爬多少頁面,多大的數(shù)據(jù)量,當(dāng)然查詢的方式多種多樣。今天我來講一種可視化的方法。
關(guān)于爬蟲數(shù)據(jù)在mongodb里的版本我寫了一個可以熱更新配置的版本,即添加了新的爬蟲配置以后,不用重啟程序,即可獲取剛剛添加的爬蟲的狀態(tài)數(shù)據(jù)。
1.成品圖
這個是監(jiān)控服務(wù)器網(wǎng)速的最后成果,顯示的是下載與上傳的網(wǎng)速,單位為M。爬蟲的原理都是一樣的,只不過將數(shù)據(jù)存到InfluxDB的方式不一樣而已, 如下圖。
可以實(shí)現(xiàn)對爬蟲數(shù)量,增量,大小,大小增量的實(shí)時監(jiān)控。
2. 環(huán)境
InfluxDb ,是目前比較流行的時間序列數(shù)據(jù)庫; Grafana ,一個可視化面板(Dashboard),有著非常漂亮的圖表和布局展示,功能齊全的度量儀表盤和圖形編輯器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作為數(shù)據(jù)源 Ubuntu influxdb (pip install influxdb) Python 2.73. 原理
獲取要展示的數(shù)據(jù),包含當(dāng)前的時間數(shù)據(jù),存到InfluxDb里面,然后再到Grafana里面進(jìn)行相應(yīng)的配置即可展示;
4. 安裝
4.1 Grafana安裝
官方安裝指導(dǎo)
安裝好以后,打開本地的3000端口,即可進(jìn)入管理界面,用戶名與密碼都是 admin 。
4.2 InfulxDb安裝
這個安裝就網(wǎng)上自己找吧,有很多的配置我都沒有配置,就不在這里誤人子弟了。
5. InfluxDb簡單操作
碰到了數(shù)據(jù)庫,肯定要把增刪改查學(xué)會了啊, 和sql幾乎一樣,只有一絲絲的區(qū)別,具體操作,大家可以參考官方的文檔。
influx 進(jìn)入命令行 CREATE DATABASE test 創(chuàng)建數(shù)據(jù)庫 show databases 查看數(shù)據(jù)庫 use test 使用數(shù)據(jù)庫 show series 看表 select * from table_test 選擇數(shù)據(jù) DROP MEASUREMENT table_test 刪表6. 存數(shù)據(jù)
InfluxDb數(shù)據(jù)庫的數(shù)據(jù)有一定的格式,因?yàn)槲叶际抢胮ython庫進(jìn)行相關(guān)操作,所以下面將在python中的格式展示一下:
其中:
measurement, 表名 time,時間 tags,標(biāo)簽 fields,字段可以看到,就是個列表里面,嵌套了一個字典。其中,對于時間字段,有特殊要求,可以參考這里, 下面是python實(shí)現(xiàn)方法:
所以,到這里,如何將爬蟲的相關(guān)屬性存進(jìn)去呢?以MongoDB為例
新聞熱點(diǎn)
疑難解答
圖片精選