欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】

系統(tǒng) 1639 0

今天主要是來說一下怎么可視化來監(jiān)控你的爬蟲的狀態(tài)。

相信大家在跑爬蟲的過程中,也會好奇自己養(yǎng)的爬蟲一分鐘可以爬多少頁面,多大的數(shù)據(jù)量,當然查詢的方式多種多樣。今天我來講一種可視化的方法。

關(guān)于爬蟲數(shù)據(jù)在mongodb里的版本我寫了一個可以熱更新配置的版本,即添加了新的爬蟲配置以后,不用重啟程序,即可獲取剛剛添加的爬蟲的狀態(tài)數(shù)據(jù)。

1.成品圖

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第1張圖片 ?

這個是監(jiān)控服務(wù)器網(wǎng)速的最后成果,顯示的是下載與上傳的網(wǎng)速,單位為M。爬蟲的原理都是一樣的,只不過將數(shù)據(jù)存到InfluxDB的方式不一樣而已, 如下圖。

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第2張圖片 ?

可以實現(xiàn)對爬蟲數(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.7

3. 原理

獲取要展示的數(shù)據(jù),包含當前的時間數(shù)據(jù),存到InfluxDb里面,然后再到Grafana里面進行相應(yīng)的配置即可展示;

4. 安裝

4.1 Grafana安裝

官方安裝指導(dǎo)

安裝好以后,打開本地的3000端口,即可進入管理界面,用戶名與密碼都是 admin 。

4.2 InfulxDb安裝

這個安裝就網(wǎng)上自己找吧,有很多的配置我都沒有配置,就不在這里誤人子弟了。

5. InfluxDb簡單操作

碰到了數(shù)據(jù)庫,肯定要把增刪改查學(xué)會了啊, 和sql幾乎一樣,只有一絲絲的區(qū)別,具體操作,大家可以參考官方的文檔。

  • influx 進入命令行
  • 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ù)有一定的格式,因為我都是利用python庫進行相關(guān)操作,所以下面將在python中的格式展示一下:

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第3張圖片 ?

其中:

  • measurement, 表名
  • time,時間
  • tags,標簽
  • fields,字段

可以看到,就是個列表里面,嵌套了一個字典。其中,對于時間字段,有特殊要求,可以參考這里, 下面是python實現(xiàn)方法:

?

所以,到這里,如何將爬蟲的相關(guān)屬性存進去呢?以MongoDB為例

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第4張圖片 ?

那么現(xiàn)在我們已經(jīng)往數(shù)據(jù)里存了數(shù)據(jù)了,那么接下來要做的就是把存的數(shù)據(jù)展示出來。

7.展示數(shù)據(jù)

7.1 配置數(shù)據(jù)源

以admin登錄到Grafana的后臺后,我們首先需要配置一下數(shù)據(jù)源。點擊左邊欄的最下面的按鈕,然后點擊DATA SOURCES,這樣就可以進入下面的頁面:

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第5張圖片 ?

點擊ADD DATA SOURCE,進行配置即可,如下圖:

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第6張圖片 ?

其中,name自行設(shè)定;Type 選擇InfluxDB;url為默認的http://localhost:8086, 其他的因為我前面沒有進行配置,所以默認的即可。然后在InfluxDB Details里的填入Database名,最后點擊測試,如果沒有報錯的話,則可以進入下一步的展示數(shù)據(jù)了;

7.2 展示數(shù)據(jù)

點擊左邊欄的+號,然后點擊GRAPH

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第7張圖片 ?

接著點擊下圖中的edit進入編輯頁面:

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第8張圖片

Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】_第9張圖片

從上圖中可以發(fā)現(xiàn):

中間板塊是最后的數(shù)據(jù)展示
下面是數(shù)據(jù)的設(shè)置項
右上角是展示時間的設(shè)置板塊,在這里可以選擇要展示多久的數(shù)據(jù)

7.2.1 配置數(shù)據(jù)

在Data Source中選擇剛剛在配置數(shù)據(jù)源的時候配置的NAME字段,而不是database名。
接著在下面選擇要展示的數(shù)據(jù)。看著就很熟悉是不是,完全是sql語句的可視化。同時,當我們的數(shù)據(jù)放到相關(guān)的字段上的時候,雙擊,就會把可以選擇的項展示出來了,我們要做的就是直接選擇即可;
設(shè)置右上角的時間,則可以讓數(shù)據(jù)實時進行更新與展示
因為下面的配置實質(zhì)就是sql查詢語句,所以大家按照自己的需求,進行選擇配置即可,當配置完以后,就可以在中間的面板里面看到數(shù)據(jù)了。

8. 總結(jié)

到這里,本篇文章就結(jié)束了。其中,對于Grafana的操作我沒有介紹的很詳細,因為本篇主要講的是怎么利用這幾個工具完成我們的任務(wù)。

同時,里面的功能確實很多,還有可以安裝的插件。我自己目前還是僅僅對于用到的部分比較了解,所以大家可以查詢官方的或者別的教程資料來對Grafana進行更深入的了解,制作出更加好看的可視化作品來。

文末知識點摘要①:sql中dateiff函數(shù)的用法

DATEDIFF

返回跨兩個指定日期的日期和時間邊界數(shù)。

一、 語法

DATEDIFF ( datepart , startdate , enddate )

二、參數(shù)

datepart

是規(guī)定了應(yīng)在日期的哪一部分計算差額的參數(shù)。下表列出了 Microsoft? SQL Server? 識別的日期部分和縮寫。

日期部分 縮寫

year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
startdate

是計算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。

因為 smalldatetime 只精確到分鐘,所以當用 smalldatetime 值時,秒和毫秒總是 0。

如 果您只指定年份的最后兩位數(shù)字,則小于或等于"兩位數(shù)年份截止期"配置選項的值的最后兩位數(shù)字的數(shù)字所在世紀與截止年所在世紀相同。大于該選項的值的最后 兩位數(shù)字的數(shù)字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(默認),則 49被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數(shù)的年份。

enddate

是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。

三、返回類型

integer

四、用法

此函數(shù)計算兩個指定日期之間日期部分的數(shù)目。結(jié)果為日期部分中等于(date2 - date1)的有符號的整數(shù)值。

當結(jié)果不是日期部分的偶數(shù)倍時,DATEDIFF 將被截斷而不是被舍入。

當使用 day 作為日期部分時,DATEDIFF 返回兩個指定的時間之間(包括第二個日期但不包括第一個日期)的午夜數(shù)。

當使用 month 作為日期部分時,DATEDIFF 返回兩個日期之間(包括第二個日期但不包括第一個日期)出現(xiàn)的月的第一天的數(shù)目。

當使用 week 作為日期部分時,DATEDIFF 返回兩個日期(包括第二個日期但不包括第一個日期)之間星期日的數(shù)目。

對于更小的時間單位存在溢出值:

milliseconds 24 天

seconds 68 年

minutes 4083 年

others 沒有溢出限制

如果超出這些限制,此函數(shù)將返回溢出錯誤。

五、標準和兼容性

SQL/92 Transact-SQL 擴展。
SQL/99 Transact-SQL 擴展。

Sybase 與 Adaptive Server Enterprise 兼容。

六、示例

下面的語句返回 1 :

select datediff( hour, ''4:00am'', ''5:50am'' )

下面的語句返回 102 :

select datediff( month, ''1987/05/02'', ''1995/11/15'' )

下面的語句返回 0 :

select datediff( day, ''00:00'', ''23:59'' )

下面的語句返回 4 :

select datediff( day, ''1999/07/19 00:00'',''1999/07/23 23:59'' )

下面的語句返回 0 :

select datediff( month, ''1999/07/19'', ''1999/07/23'' )

下面的語句返回 1 :

select datediff( month, ''1999/07/19'', ''1999/08/23'' )?

總結(jié)

以上所述是小編給大家介紹的Python實現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲成人91| 精品日本三级在线观看视频 | 日日操夜夜 | 蜜桃视频一区 | 91亚洲国产成人久久精品网站 | 国产精品啪一品二区三区粉嫩 | 成人在线精品视频 | 一类黄色大片 | 国内精品易阳在线播放国产 | 性欧美一级毛片在线播放 | 亚洲三区视频 | 日本国产最新一区二区三区 | 亚洲一区二区视频 | 亚洲看 | 视频一区二区不卡 | 奇米第四色影视 | 欧美在线中文字幕 | 奇米吧 | 欧美精品一区二区在线电影 | 成人免费网站在线观看 | 久久激情五月丁香伊人 | 国产福利福利视频 | 欧美一级美国一级 | 亚洲国产视频网站 | 中文字幕 国产精品 | 日韩欧美中文字幕在线播放 | 免费在线小视频 | gogo全球大胆高清人露出91 | 59pao成国产成视频永久免费 | 日韩18在线观看地址 | 亚洲网站免费观看 | 91av视频在线免费观看 | 99视频有精品视频高清 | 一区二区三区中文字幕 | 黄色福利 | 久久精品99| 免费观看呢日本天堂视频 | 成人全黄三级视频在线观看 | 中文天堂av| 久久福利剧场 | 久久久国|