1. 两行代码搞定历史浏览器记录
偶然间遇到一个第三方库,竟然可以只用两行代码就能获得浏览器的历史浏览记录,再一次感叹python社区的强大。
使用pip安装
pip install browserhistory
代码示例
import browserhistory as bh
bh.write_browserhistory_csv()
整个源码只有区区不到200行,但却可以轻松的获取谷歌,火狐,safari 这三种浏览器的历史浏览记录,而且支持,mac, linux, windows三种平台。
运行程序,会在当前工作目录下生成浏览器对应的历史记录文件,格式为csv,内容包括url,标题,时间。
2. 源码解读
保持一颗好奇心,是做技术必备的素养。作者是如何做到在不同的平台上获取这三种浏览器的历史浏览记录的呢?打开源码,我们一探究竟。
作者首先通过sys.platform 获得了平台的名称,据此得知当前程序运行在哪种操作系统上。
谷歌,火狐,safari 的历史浏览记录都保存在user目录下的固定位置,因此只要知道当前登录用户的user目录就以获得准确的位置。作者在get_database_paths 函数中,根据平台的不同,使用了不同的方法来确定user目录。
这三种浏览器的数据都存储在sqlite3中,get_browserhistory函数分别将这三种浏览器的历史浏览器记录从数据库中读取出来,这个过程需要你关闭浏览器,浏览器和你的程序无法同时操作sqlite3。
最后一步,使用csv模块,将不同的浏览器历史浏览记录写入到csv文件中。
受限于篇幅,每段代码只截取关键内容,感兴趣的朋友可以下载源码仔细研究,本文仅做大概介绍
3. 收获
学习使用第三方库,阅读其源码,是非常有效的提升技术水平的途径,不到200行的代码,认真阅读,可以收获以下知识
sys.platform
csv 模块使用
sqlite3 读取数据库
获得不同平台,当前登录用户的user目录
os.path 模块的用法