用 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 ...
随机推荐
- STM32F0_HAL库驱动描述——HAL驱动程序概述
HAL库文件结构: HAL驱动文件: 外设驱动API文件和头文件:包含了常见主要的通用API,其中ppp表示外设名称,如adc.usart.gpio.irda等: stm32f0xx_hal_ppp. ...
- 【算法•日更•第十九期】动态规划:RMQ问题
▎前言 首先先来说一下RMB是什么,当然是人民币啦. 今天我们要学的这个东西不一般,叫做RMQ问题,那么它和RMB有什么关系呢?待小编细细说来. ▎前置技能:动态规划 不会的同志请戳这里迅速了解动态规 ...
- IDEA中使用mybatis逆向工程
如果使用过mybatis的人就会发现,当我们使用mybatis时,我们每次都需要自己手动创建实体类,映射文件(当然你也可以用注释),还有接口来进行使用,这样手动创建非常的繁琐,mybatis考虑到这方 ...
- typedef int a[10];怎么解释?
typedef int a[10]; a b[10]; 为什么分配400个字节的空间? int a[10];为什么分配了40个字节的空间? 问题:应该怎么解释typedef的这种行为呢?而如果换成是# ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- spark 源码分析之三 -- LiveListenerBus介绍
LiveListenerBus 官方说明如下: Asynchronously passes SparkListenerEvents to registered SparkListeners. 即它的功 ...
- AMD CPU环境下使用android studio,eclipse的Genymotion插件
1.下载安装VirtualBox Genymotion的运行需要此环境(链接) 2.下载安装android模拟器Genymotion 由于官网的下载速度过慢,建议直接百度下载Genymotion(链接 ...
- 图解Redis之数据结构篇——整数集合
前言 整数集合(intset)并不是一个基础的数据结构,而是Redis自己设计的一种存储结构,是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时, Redis i ...
- TIJ读书笔记-第21章-并发
一本Think in java,从去年6月份开始读,读了快一年了,也快读完了,然而回头想想,却好像什么也不记得了,好记性不如烂笔头,那就从现在开始记录一下吧.由于现在在读的是并发,那就先从这章开始吧. ...
- windows下用easybcd引导ubuntu出现grub的解决方案
linux安装时吧boot挂在到单独的分区 如果grub覆盖了mbr的话可以用pe工具箱修复windows的mbr linux引导项选grub 驱动器选安装时挂载了/boot的分区 添加条目 启动即可 ...