SQLとか全然知らないから何箇所かggってかき集めて実行。
cp ~/Library/Application\ Support/Google/Chrome/Default/History ~/History
で履歴ファイルを一応コピっておいて
$ sqlite3 History SQLite version 3.19.3 2017-06-27 16:48:08 Enter ".help" for usage hints. sqlite> .mode csv sqlite> .output result.csv sqlite> SELECT kst.term, datetime(v.visit_time/1000000-11644473600,'unixepoch','localtime') as visit_time ...> FROM keyword_search_terms as kst ...> inner join visits as v ...> on kst.url_id = v.url ...> order by v.visit_time DESC; sqlite> .exit
とかで、~/result.csv
に検索キーワードと検索した日が出てくる。凄い!
こっから人名っぽいのを探したいが、Web をスクレイピングして機械学習させる・・・ってのでは性能評価とか大変だし、実装も大変なので手を抜いて・・・
#! /usr/bin/env python # -*- coding: utf-8 -*- import sys, re import csv def main(): keywords = set() with open(sys.argv[1]) as f: reader = csv.reader(f) for row in reader: keywords.add(row[0]) for word in keywords: if re.search(r"\s+", word): continue if re.search(r"[0-9a-zA-Z]", word): continue if 3 <= len(word) <= 6: print(word) if __name__ == "__main__": main()
で処理する。これでウエンツ瑛士
でも谷口ジロー
でも美空ひばり
でも浦沢直樹
でもわりと簡単に見つけることができる。はず。(機械学習でやる場合に苗字がウエンツ
だとか名前がジロー
であるのを拾えるように学習させるのがちょっと面倒臭そう・・・。普通の人名リストでは不足な気がする・・・)