プログラミング

Chromeの閲覧履歴をSQLで正規表現検索する

Chromeの閲覧履歴、ブラウジング履歴、検索履歴をSQLデータベース言語を使用し、正規表現で検索する方法について紹介します。

SQL久々に書いたなぁ。

chrome検索履歴のデータベースを僕なりにきれいに整形して出力してくれるようにしたSQLです。

以前紹介したChromeHistoryViewはより手軽に使えますが、前述の通り検索機能が貧弱です。ので、できる人はSQLのほうが正規表現とかできること増えるので良いと思ってやってみました。

SELECT u.id, u.url, u.title, u.visit_count, kw.term AS search_term, datetime(v.visit_time/1000000-11644473600,'unixepoch','localtime') AS visit_time, datetime(u.last_visit_time/1000000-11644473600,'unixepoch','localtime') AS last_visit_time FROM urls AS u
left JOIN keyword_search_terms AS kw ON kw.url_id = u.id
left JOIN visits AS v ON v.url = u.id
WHERE u.url REGEXP "."
    AND u.title REGEXP "."
order by last_visit_time desc

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_04fcd9ee-a5b7-45f0-ad03-436526309102.png

URLやタイトルで正規表現検索してselect検索する例。

SELECT u.id, u.url, u.title, u.visit_count, kw.term AS search_term, datetime(v.visit_time/1000000-11644473600,'unixepoch','localtime') AS visit_time, datetime(u.last_visit_time/1000000-11644473600,'unixepoch','localtime') AS last_visit_time FROM urls AS u
left JOIN keyword_search_terms AS kw ON kw.url_id = u.id
left JOIN visits AS v ON v.url = u.id
WHERE u.url REGEXP "google\.(com|co.jp)"
AND u.title REGEXP "chrome.*history"
order by last_visit_time desc

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_5a53c39d-92e5-4475-af37-9cd324484fa9.png

リファラーがないのは僕の力不足です。頑張りましたができませんでした。
visits.from_visitがリファラーURLなのでSQLかける人は加えてみては。(コードをコメントしてくれたら嬉しいです)

やり方

非プログラマ向け解説。

  1. Version 3.11.1 released – DB Browser for SQLiteをインストールします。
  2. \AppData\Local\Google\Chrome\User Data\DefaultにあるHistoryファイルを任意の場所へコピー
  3. HistoryファイルをDB Browser for SQLiteで開きます。
  4. execute SQLタブをクリックしてテキストボックスに上記SQLスクリプトをコピペしてctrl-Enter

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です