糟了,上网记录被 Python 扒下来了!

  • 2019 年 10 月 8 日
  • 筆記

文章转载自公众号

高级农民工

作者 苏克1900

摘要:分享个 Python 神工具。

长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。不过,我们自己可能会感兴趣,天天都在上网,想知道长期下来是都在摸鱼还是有认真工作。

其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。

下面就来给大家介绍一款 Python 编写的神工具,可以一键分析你的上网行为。我用了后发现了很多不可思议的结论。

比如访问次数最多的网站居然是微信公众号,7000 多次,看来弄自媒体占了大量上网时间。

浏览次数最多的十个网站

看到了每天打开网站的次数,平均都有好几百次,8 月 8 号那天发生了什么,竟打开了 1600 多次!

每日访问网站次数

然后又统计了停留时间最长的网页页面,在 http://md.aclickall.com/ 这个网站居然停留了 660 小时,这是个文章排版网站,因为经常要排版所以把该页面固定了起来。

停留时间最长的 URL 排名

然后统计出了搜索最多的十个关键词,python 居然是第一位!前十中基本都是数据编程相关的,没想到自己这么爱学习。

搜索最多的十个关键词

最后统计出了各大搜索引擎的使用率。google 的使用率达到了 97.3%,而百度只有不到 3%,大概是偶尔无法科学上网的时候用了下百度。

各搜索引擎使用占比

怎么样是不是挺有意思?下面就来说说怎么用这款工具,让你也可以分分钟了解自己的上网行为,非常简单。

这款 Python 工具其实就是分析浏览器的历史记录数据库文件然后可视化。这里的浏览器只支持 Chrome 和以 Chrome 为内核的浏览器,比如 Centbrower 、360极速浏览器等,其他浏览器比如 ie、Firefox 不支持。如果有登陆账号,桌面端和电脑端会一起分析,更全面。

第一步,打开网站:

mark

接着上传你的浏览器历史记录文件,这个历史记录文件怎么获得呢?

新建一个标签页,输入 chrome://version/ 回车,可以打开你的浏览器详细信息:

mark

复制「个人资料路径」到资源管理器打开,然后找到 history 文件复制一份到桌面。

mark

接着就在刚才的网站中上传该文件(我的文件有 15MB 大),稍等片刻就可以得到上门的那些可视化分析结果。

你可能会担心上传浏览器历史记录是否安全,尽管放心,这个程序是开源的。

下面再简单说下如何用 python 一步步实现的这个程序功能的,这是一个很棒的 python 练手项目,涉及到了前后端的知识,整个程序包含多个文件:

Code  ├─ app_callback.py                          回调函数,实现后台功能  ├─ app_configuration.py                     web服务器配置  ├─ app_layout.py                            web前端页面配置  ├─ app_plot.py                              web图表绘制  ├─ app.py                                   web服务器的启动  ├─ assets                                   web所需的一些静态资源文件  │  ├─ css                                   web前端元素布局文件  │  │  ├─ custum-styles_phyloapp.css  │  │  └─ stylesheet.css  │  ├─ image                                 web前端logo图标  │  │  ├─ GitHub-Mark-Light.png  │  └─ static                                web前端帮助页面  │  │  ├─ help.html  │  │  └─ help.md  ├─ history_data.py                          解析chrome历史记录文件  └─ requirement.txt                          程序所需依赖库  

每个程序实现的功能:

mark

具体实现思路大致分为下面几点:

  • 解析历史记录文件数据

历史记录 history 是一个 sqllite 数据库文件,连接数据库查询然后调用数据库中的信息并存储。

  • 配置 web 服务器和前端页面
  • 可视化绘图函数

可视化图形使用的是可交互式的 plotly 库。

小结

上网记录是很重要的隐私数据,平常自己可能无法从中直接发现什么,使用 Python 简单一分析就可以发现很多东西,所以平时尽量注重隐私保护。公众号后台回复“记录”可以获取本文相关代码以及网站地址。