獲取瀏覽器歷史記錄並可視化展示
阿新 • • 發佈:2021-07-21
所需要用到的技術
browserhistory:獲取瀏覽器歷史記錄並做資料處理
Pyecharts:將拿來的資料做視覺化分析
browserhistory是python的第三方庫
安裝
pip install browserhistory
import browserhistory as bh # 所有用到browserhistory的前提是關閉瀏覽器 dict_obj = bh.get_browserhistory() # 獲取瀏覽器的歷史記錄 print(dict_obj.keys()) # 獲取瀏覽器資訊 print(dict_obj['chrome']) # 獲取chrome瀏覽器的所有歷史記錄 bh.write_browserhistory_csv() # 將瀏覽器記錄儲存到一個csv檔案
我們將歷史記錄儲存到一個csv檔案,現在做資料處理,如拿到前10名經常使用的歷史記錄的域名
from collections import Counter import pandas as pd from urllib.parse import urlparse list_weber = [] parser = lambda u: urlparse(u).netloc #取出網址域名 data = pd.read_csv('chrome_history.csv', encoding='utf8', header=None) for i in data[0]: list_weber.append(parser(i)) counter= Counter(list_weber) counter_limit_ten = counter.most_common(10) # 拿到前10名的域名和次數
拿到分析的資料之後用Pyecharts做視覺化展示
pyecharts安裝
pip install wheel pip install pyecharts==0.1.9.4
如下可以自行選擇視覺化展示方案
columns = [] datas = [] for value in counter_limit_ten: # 設定行名 columns.append(value[0]) # 設定資料 datas.append(value[1]) def import_bar(): '''匯入柱狀圖-Bar''' from pyecharts import Bar # 設定柱狀圖的主標題與副標題 bar = Bar("柱狀圖", "瀏覽器歷史記錄訪問量最多前10的網站和訪問個數") # 新增柱狀圖的資料及配置項 bar.add("訪問數", columns, datas, mark_line=["average"], mark_point=["max", "min"]) # bar.add("其他引數", columns, data2, mark_line=["average"], mark_point=["max", "min"]) # 當然還如果還有其他對比資料可以新增其他的 bar.show_config() # 生成本地檔案(預設為.html檔案) bar.render() def import_pie(): # 匯入餅圖Pie from pyecharts import Pie # 設定主標題與副標題,標題設定居中,設定寬度為900 pie = Pie("餅狀圖", "瀏覽器歷史記錄訪問量最多前10的網站和訪問個數", title_pos='center', width=900) # 加入資料,設定座標位置為【25,50】,上方的colums選項取消顯示 pie.add("訪問數", columns, datas, center=[25, 50], is_legend_show=False, is_label_show=True) # 加入資料,設定座標位置為【75,50】,上方的colums選項取消顯示,顯示label標籤 # pie.add("蒸發量", columns, data2, center=[75, 50], is_legend_show=False, is_label_show=True) # 儲存圖表 pie.render() def import_word_cloud(): # 匯入雲詞圖 from pyecharts import WordCloud wordcloud = WordCloud(width=1300, height=620) wordcloud.add("", columns, datas, word_size_range=[20, 100], shape='diamond') #詞雲圖的形狀可以通過shape引數來選擇 wordcloud.show_config() wordcloud.render()
# import_bar()
# import_pie()
# import_word_cloud()
參考:
https://github.com/pyecharts/pyecharts/
https://pyecharts.org/#/zh-cn/chart_api
版權宣告:本文原創發表於 部落格園,作者為RainBol本文歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則視為侵權。