python上网行为分析_python实战练手项目---获取谷歌浏览器的历史记录,分析一个人的上网行为...
python实战练手项目---获取谷歌浏览器的历史记录,分析一个人的上网行为
谷歌浏览器的历史浏览记录存储在名为History sqlite文件中,在mac环境下,该文件的地址是
/Users/zhangdongsheng/Library/Application Support/Google/Chrome/Default/History
注意替换用户名(zhangdongsheng)
如果是windows系统,文件的目录为
%LocalAppData%\Google\Chrome\User Data\Default
历史浏览记录存储在urls表里,这里只关注last_visit_time和url字段,前者是访问时间,后者是网址。last_visit_time字段存储的是时间是距离1601年1月1日0时0分0秒的微秒数,在windows系统下,FILETIME是从1601-01-01开始计时的,而在unix,linux系统下,则是从1970-01-01开始计时的。
有了数据库和表,就可以直接从数据库文件里读取数据了,读取数据时,一定要把谷歌浏览器关掉,不然它会一直锁着History文件,导致程序无法读取,下面的程序读取19年5月1日之后浏览记录
import sqlite3
from urllib.parse import urlparse
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
db_path = '/Users/zhangdongsheng/Library/Application Support/Google/Chrome/Default/History'
conn = sqlite3.connect(db_path)
sql = '''
select url from urls where
datetime(last_visit_time/1000000-11644473600,'unixepoch')
> '2019-05-01'
'''
cursor = conn.execute(sql)
得到的url内容如下
https://www.cnblogs.com/zzqcn/p/3525636.html
还需要对url进行解析,提取出网址的域名,并对域名访问次数进行数量统计
# 解析url,获得域名
parser = lambda u: urlparse(u).netloc
history_dict = {}
for row in cursor:
print(row[0])
url = parser(row[0])
history_dict.setdefault(url, 0)
history_dict[url] += 1
接下来就是可视化呈现的部分了,获取访问频次前20的域名信息并使用matplotlib画出饼图
history_lst = [(url, count) for url, count in history_dict.items()]
history_lst.sort(key=lambda item: item[1], reverse=True)
# 设置font,支持中文
font = FontProperties(fname='/System/Library/Fonts/STHeiti Medium.ttc')
top_20_url = history_lst[:20]
# 获得饼状图数据
pie_data = [item[1] for item in top_20_url]
# 获得label
pie_labels = [item[0] for item in top_20_url]
plt.figure(1, figsize=(10, 10))
plt.title('访问频率排名前20的网站', fontproperties=font)
plt.pie(pie_data, autopct='%1.1f%%', labels=pie_labels)
plt.savefig('./浏览频率前20的网站.jpg')
生成的图片
python上网行为分析_python实战练手项目---获取谷歌浏览器的历史记录,分析一个人的上网行为...相关推荐
- python画画需要什么模块_python实战练手项目---使用turtle模块画奥运五环
python实战练手项目---使用turtle模块画奥运五环 2020年将举办东京奥运会,本篇实践文章将带你使用turtle模块画一个五环图,先来看效果图 1. 定义一个类继承Turtle class ...
- python做些什么项目_Python 的练手项目有哪些值得推荐
1 Web方向的练手项目 这个其实是肯定不用多少的了.Python的练手项目就是可以做一个网站了.我们可以做一个属于自己的博客.在做博客的时候,我们可以巩固的知识点是 Html+CSS+JS的基础知识 ...
- python3实战练手项目_Python0基础练手项目有哪些值得推荐?附实战项目+学习图谱...
原标题:Python 0基础练手项目,有哪些值得推荐?附实战项目+学习图谱 刚学Python的时候,因为豆瓣帖子老沉,就写了一个顶帖脚本.就是用这个脚本,给自己的帖子顶了两年,在小组里追到了现在的女朋 ...
- 10个有趣的Python教程,附视频讲解+练手项目。
从前的日色变得慢,车.马.邮件都慢 一生只够爱一门编程语言 从前的教程也好看,画面精美有样子 你看了,立马就懂了 Python最性感的地方,就在于它的趣味性和前沿性,学习Python,你总能像科技节的 ...
- 100个Python实战练手项目(附源码+素材),学习必备
前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了最新32个Python实战项目列表,都有完整且详细的视频教程和 ...
- python练手_Python数据分析练手项目
最近,我在阿里天池大数据竞赛中发现了一些练手的项目,例如,用Python"画月饼过云上中秋",虽然中秋已经过去了,但还是好奇Python是怎么画出月饼的? 先上图↓ 火龙果馅的月饼 ...
- 人工智能实战项目(python)+多领域实战练手项目
人工智能实战项目 大家好,我是微学AI,本项目将围绕人工智能实战项目进行展开,紧密贴近生活,实战项目设计多个领域包括:金融.教育.医疗.地理.生物.人文.自然语言处理等:帮助各位读者结合机器学习与深度 ...
- 2022最新python100个实战练手项目,【附源码】,快来学习起来吧!
Python是目前最好的编程语言之一.由于其可读性和对初学者的友好性,已被广泛使用.那么要想学会并掌握Python,可以实战的练习项目是必不可少的. 接下来,我将给大家介绍20个非常实用的Python ...
- 分享几个接口自动化的实战练手项目
Hi,大家好. 最近一直比较忙,难得昨天有空,特意抽时间打开公众号后台,回复一下朋友们的留言.自进入四月以来,后台收到了近百条 点工转自动化 & 跳槽涨薪面试 方面问题的留言,很多人想趁春招旺 ...
最新文章
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码......
- 反汇编算法介绍和应用——线性扫描算法分析
- 【数论基础】有关素数的基础算法(内含三种筛法,低至O(N^(2/3))!)
- Spring中的异步任务
- 企业架构-发布【企业架构框架-TOGAF v0.1.pdf】
- python入门有基础-Python入门必须知道的11个知识点
- java--Hibernate添加数据save
- filter函数的用法_这几个超牛函数,你的Excel里有没有?
- 微型计算机广告牌实验报告,微型计算机实验报告1资料.doc
- python包和目录有什么不同_python模块和包的区别
- 草稿-乱-爬虫-post请求数据与Request Payload
- php-php连接数据库
- C++ Primer Plus 读书笔记(第4、5章)
- Java SE之正则表达式二:匹配
- HTML5:web socket 和 web worker
- android 电话状态的监听(来电和去电)
- python 2.7安装pandas失败
- 地摊经济一千年:从《韩熙载夜宴图》到木屋烧烤“撸串”
- 给小朋友讲故事——科学课,地球,太阳和月亮
- 安卓开发学习——第四天