一行Python代码即可导出多种浏览器的历史记录?就像这样👇
现在来说说原理,不管是Windows还是MAC,Chrome等浏览器的历史数据都是存储在本地的SQLite数据库中,例如Windows用户可以在C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default找到,当然在Python中我们可以使用内置OS模块找到该数据库文件,再使用Python内置的sqlite3模块可以轻松读取并导出浏览记录数据,而这个过程在GitHub上已经有一位外国小哥帮我们完成了,总共不到200行代码,现在我们只要使用pip install browserhistory安装,接着进入Python导入
- import browserhistory as bh
现在只要一行代码即可查看全部历史浏览记录
- bh.get_browserhistory()
JSON格式数据不怎么好看,可以借助Pandas转换为表格,并且可以查看指定浏览器的记录,比如Safari
- import pandas as pd
- pd.DataFrame.from_dict(bh.get_browserhistory()['safari'])
当然也可以一行代码将历史记录导出为CSV
- bh.write_browserhistory_csv()
打开我的Safari记录看看,最早的一条记录居然是去年6月的调试Django项目的记录,看来很久没有清空了
但是在保存数据时有一个小插曲,作者在源码中使用CSV模块来将数据写入CSV表格时使用的编码是UTF-8,这会导致中文乱码
所以只要进入源码将UTF-8改为utf-8_sig就能正常保存中文了,或者直接copy过来源码并修改也是可以的。并且要注意执行程序时要彻底退出浏览器,否则会丢失对应浏览器的记录。
最后,有了几万条浏览记录,就可以进行一些简单分析,比如面向搜索引擎编程的我,最常访问的网站就是百度、Google、GitHub、stack overflow等,当然你也可以写一个简单的脚本并打包,获取某人的浏览记录,看看TA上班是不是爱摸鱼,或者根据妹子的访问记录来找点话题,大家自由发挥