摘要:分享个​ Python 神工具。​

长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。

不过,我们自己可能会感兴趣,天天上网是都在摸鱼还是有认真工作。其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。

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

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

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

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

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

最后统计出了各大搜索引擎的使用率。Google 的使用率达到了 97.3%,而百度只有不到 3%。

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

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

第一步,打开网址:(网址在下方得到)

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

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

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

接着就在刚才的网站中上传该文件(我的文件有 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 程序所需依赖库

每个程序实现的功能:

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

  • 解析历史记录文件数据

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

  • 配置 web 服务器和前端页面

  • 可视化绘图函数

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

完整的程序可以在后台回复:上网分析 得到。

小结

上网记录是很重要的隐私数据,平常自己可能无法从中直接发现什么,使用 python 简单一分析就可以发现很多东西,所以平时尽量注重隐私保护。

完整程序和网站地址可以关注公众号:高级农民工,在后台回复:813 得到。

最新文章

  1. sessionFactory
  2. CodeIgniter报错: You must use the "set" method to update an entry
  3. IPC——数据报套接字通信
  4. Delphi 二次开发 CorelDRAW
  5. 试用ubuntu-12.04.3-desktop-amd64(二)
  6. Spark_总结四
  7. Oracle控制文件冗余
  8. 使用java poi解析表格
  9. Matlab-2:二分法工具箱
  10. [UE4]蓝图调试小心得
  11. 使用pyspark模仿sqoop从oracle导数据到hive的主要功能(自动建表,分区导入,增量,解决数据换行符问题)
  12. ubuntu下spark安装配置
  13. python 听课笔记(一)
  14. SAP Actual Costing with Material Ledger 激活实际成本后台配置
  15. 记录Kali Linux 安装输入法过程
  16. ConfigurationManager
  17. python第十四课--排序及自定义函数之案例一:选择排序
  18. DPDK RX / TX Callbacks 源码阅读
  19. tomcat如何利用waf进行防护
  20. 兼顾pc和移动端的textarea字数监控的实现方法

热门文章

  1. base16,base32,base64 编码方式的通俗讲解
  2. Asp.net之实现自定义跨域
  3. py+appium微信公众号自动化(已搞定多个坑)
  4. list和list<map<String,object>>比较,不存在map的key赋值
  5. visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案
  6. 浅谈ActiveMQ与使用
  7. RabbitMQ从入门到精通(三)
  8. [译]为任意网格计算tangent空间的基向量
  9. Linux设备驱动程序学习----1.设备驱动程序简介
  10. TCP三次握手和断开四次挥手