用 Python 分析上网记录,发现了很多不可思议的事
摘要:分享个 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 得到。
用 Python 分析上网记录,发现了很多不可思议的事的更多相关文章
- Python分析离散心率信号(下)
Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...
- Python分析盘点2019全球流行音乐:是哪些歌曲榜单占领了我们?
写在前面:圣诞刚过,弥留者节日气息的大家是否还在继续学习呐~在匆忙之际也不忘给自己找几首好听的歌曲放松一下,缠绕着音乐一起来看看关于2019年流行音乐趋势是如何用Python分析的吧! 昨天下午没事儿 ...
- Python爬虫实践 -- 记录我的第二只爬虫
1.爬虫基本原理 我们爬取中国电影最受欢迎的影片<红海行动>的相关信息.其实,爬虫获取网页信息和人工获取信息,原理基本是一致的. 人工操作步骤: 1. 获取电影信息的页面 2. 定位(找到 ...
- Android 获取自带浏览器上网记录
先是搜索了一下,在manifest里添加 <uses-permission android:name="com.android.browser.permission.READ_HIST ...
- C# 程序A发送Log记录给程序B,程序B处理和分析Log记录
C# 程序A发送Log记录给程序B,程序B处理和分析Log记录 关键字:C# ;Log记录 ;在线Log记录;Socket:httplistener 一.常用场景 1. APP开发,在真机或者虚拟机上 ...
- Python爬虫个人记录(三)爬取妹子图
这此教程可能会比较简洁,具体细节可参考我的第一篇教程: Python爬虫个人记录(一)豆瓣250 Python爬虫个人记录(二)fishc爬虫 一.目的分析 获取煎蛋妹子图并下载 http://jan ...
- Python爬虫个人记录(二) 获取fishc 课件下载链接
参考: Python爬虫个人记录(一)豆瓣250 (2017.9.6更新,通过cookie模拟登陆方法,已成功实现下载文件功能!!) 一.目的分析 获取http://bbs.fishc.com/for ...
- 用Python分析国庆旅游景点,告诉你哪些地方好玩、便宜、人又少
注:本人参考“裸睡的猪”公众号同名文章,学习使用. 一.目标 使用Python分析出国庆哪些旅游景点:好玩.便宜.人还少的地方,不然拍照都要抢着拍! 二.获取数据 爬取出行网站的旅游景点售票数据,反映 ...
- python 分析慢查询日志生成报告
python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...
随机推荐
- 【最小生成树之Kruskal例题-建设电力系统】-C++
前置知识点Kruskal最短路算法,如果没掌握的请先去掌握! 描述 小明所在的城市由于下暴雪的原因,电力系统严重受损.许多电力线路被破坏,因此许多村庄与主电网失去了联系.政府想尽快重建电力系统,所以, ...
- Spring_IoC注解开发和AOP的XML开发(学习笔记2)
一:IoC注解开发 1,在applicationContext.xml中需要引入context约束 <beans xmlns="http://www.springframework.o ...
- Java-面向对象oop
在提到面向对象的时候,大多数的书上面介绍的是简短的 类是对象的集合,对象是类的实例化.这样笼统的说法的确可以概括面向对象的思想,但却不能让一个刚入门的人理解到面向对象. 在这里先介绍一下类,当你在Ja ...
- 十五、SQL Server中的事务与锁
(转载别人的内容,值得Mark) 了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不 ...
- Http接口调用示例教程
介绍HttpClient库的使用前,先介绍jdk里HttpURLConnection,因为HttpClient是开源的第三方库,使用方便,不过jdk里的都是比较基本的,有时候没有HttpClient的 ...
- 转 java - java基础知识点
转 https://www.cnblogs.com/xdp-gacl/p/3641769.html 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可 ...
- 逆向MFC程序
目录 @ 1 MFC执行流程 1.1 环境支持 1.2 分析 1.3 实践探索 1.3.1 创建一个MFC程序 1.3.2 下关键断点并调试 1.4 转向MFC库源文件中观测 2 逆向 2.1 特征码 ...
- kubernetes CRD 开发指南
扩展kubernetes两个最常用最需要掌握的东西:自定义资源CRD 和 adminsion webhook, 本文教你如何十分钟掌握CRD开发. kubernetes允许用户自定义自己的资源对象,就 ...
- Java中内部类的骚操作
10.1 如何定义内部类 如代码10.1-1 所示 public class Parcel1 { public class Contents{ private int value = 0; pu ...
- Redis的HelloWorld
1.安装完成的Redis: linux安装的应用默认会在:usr/local/bin. 1.redis-benchmark:性能测试工具,是redis提供的一个高并发程序,可以在自己本机运行,看看自己 ...