1. 程式人生 > 其它 >獲取瀏覽器歷史記錄並可視化展示

獲取瀏覽器歷史記錄並可視化展示

所需要用到的技術

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) # 加入資料,設定座標位置為【2550】,上方的colums選項取消顯示 pie.add("訪問數", columns, datas, center=[25, 50], is_legend_show=False, is_label_show=True) # 加入資料,設定座標位置為【7550】,上方的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本文歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則視為侵權。