毎日、飽きもせずにググっている。
はて?なにをググっていたのだろう?ふと思った。
検索ワードを見れば自分の興味・関心事が見えてくるのではないか。
やってみた。
今回は検索ワードで分析しているがいろいろできそう。
使用するアプリケーション
Google Chrome
SQLite https://www.sqlite.org/index.html
KH Coder https://khcoder.net/
(おまけ)DB Browser for SQLite https://sqlitebrowser.org/
Google Chromeの閲覧履歴を取得する
Google Chrome のアドレスバーに「chrome://history/」を
入力すると閲覧履歴が表示される。
※「メニュー」→「履歴」でも表示できる。
ただこっちからだとデータとして取得できない。
閲覧履歴データは下記の場所に保存されている。
Chromeの閲覧履歴データ
ファイル名:History
パス:C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default
※Chromeの閲覧履歴はSQLiteのDBで保存されている
※直接イジるのではなく、コピーして使うこと。
SQLite で履歴をテキストで取り出す
※事前にSQLiteをダウンロードしておく。
sqlite3.exe と同じフォルダにHistoryファイルを置く
コマンドプロンプトを起動
sqlite3.exe のフォルダに移動する
sqlite3でHistoryファイルを開く
>sqlite3 History SQLite version 3.32.1 2020-05-25 16:19:56 Enter ".help" for usage hints. sqlite>
テーブルを確認する。今回取得したいデータは「urls」に入っている
sqlite> .tables downloads meta urls downloads_slices segment_usage visit_source downloads_url_chains segments visits keyword_search_terms typed_url_sync_metadata
以下のコマンドを実行し、結果をテキストファイルで出力する
sqlite>.output result.txt sqlite>select title from urls;
※他にどのようなデータがあるか確認したいときはGUIでSQLiteのDBを確認できる
「DB Browser for SQLite」を使うとよい
sqliteから抜ける
sqlite>.quit
取得したchromeの履歴の取得期間を確認する(おまけ)
いつ頃ググったものなのかを知りたい場合は履歴の取得期間を確認するとよい。
chromeの時間は1601年1月1日からのマイクロ秒で表されているので
datetime関数を使用して読み取り可能な形式に直す。
Chromeのタイムスタンプの形式は何ですか?
https://stackoverflow.com/questions/20458406/what-is-the-format-of-chromes-timestamps
最新ログの日付確認
SELECT datetime(visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch')FROM visits ORDER BY visit_time DESC LIMIT 1;
最古ログの日付確認
SELECT datetime(visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch')FROM visits ORDER BY visit_time ASC LIMIT 1;
サクラエディタで結果ファイルを加工する
今回、分析したいデータは検索ワード。
Google 検索を行ったときの履歴には「- Google 検索」が含まれているので
「- Google 検索」をキーにして検索ワードを抽出する。
「- Google 検索」でgrep
「 - Google 検索」は置換で消しておく
結果ファイルを使って、テキストマイニング
テキストマイニングのソフトは「KH Coder」を使用。
KH Coder を起動
「プロジェクト」→「新規」
分析対象ファイルにテキストファイルを指定
プロジェクトが開かれた状態
「前処理」→「前処理の実行」
OK
前処理が終わった状態
「ツール」→「抽出語」→「抽出語リスト」
抽出語リスト
検索数が多い順に表示されている
「ツール」→「抽出語」→「共起ネットワーク」
そのままOK
共起ネットワークが表示された状態
検索ワード間の共起性をリンクとして表したもの
EOF