一行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上班是不是愛摸魚,或者根據妹子的訪問記錄來找點話題,大家自由發揮