获取浏览器历史记录并可视化展示
所需要用到的技术
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 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。