刺激!一行代碼即可導出所有瀏覽記錄
一行Python代碼即可導出多種瀏覽器的歷史記錄?就像這樣👇
現(xiàn)在來說說原理,不管是Windows還是MAC,Chrome等瀏覽器的歷史數(shù)據(jù)都是存儲在本地的SQLite數(shù)據(jù)庫中,例如Windows用戶可以在C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default找到,當然在Python中我們可以使用內置OS模塊找到該數(shù)據(jù)庫文件,再使用Python內置的sqlite3模塊可以輕松讀取并導出瀏覽記錄數(shù)據(jù),而這個過程在GitHub上已經(jīng)有一位外國小哥幫我們完成了,總共不到200行代碼,現(xiàn)在我們只要使用pip install browserhistory安裝,接著進入Python導入
- import browserhistory as bh
現(xiàn)在只要一行代碼即可查看全部歷史瀏覽記錄
- bh.get_browserhistory()
JSON格式數(shù)據(jù)不怎么好看,可以借助Pandas轉換為表格,并且可以查看指定瀏覽器的記錄,比如Safari
- import pandas as pd
- pd.DataFrame.from_dict(bh.get_browserhistory()['safari'])
當然也可以一行代碼將歷史記錄導出為CSV
- bh.write_browserhistory_csv()
打開我的Safari記錄看看,最早的一條記錄居然是去年6月的調試Django項目的記錄,看來很久沒有清空了
但是在保存數(shù)據(jù)時有一個小插曲,作者在源碼中使用CSV模塊來將數(shù)據(jù)寫入CSV表格時使用的編碼是UTF-8,這會導致中文亂碼
所以只要進入源碼將UTF-8改為utf-8_sig就能正常保存中文了,或者直接copy過來源碼并修改也是可以的。并且要注意執(zhí)行程序時要徹底退出瀏覽器,否則會丟失對應瀏覽器的記錄。
最后,有了幾萬條瀏覽記錄,就可以進行一些簡單分析,比如面向搜索引擎編程的我,最常訪問的網(wǎng)站就是百度、Google、GitHub、stack overflow等,當然你也可以寫一個簡單的腳本并打包,獲取某人的瀏覽記錄,看看TA上班是不是愛摸魚,或者根據(jù)妹子的訪問記錄來找點話題,大家自由發(fā)揮