そんなわたしがその日にググったことを覚えているはずがありません
でも安心
Firefox さんはしっかり記憶してくれているのです
Firefox で Ctrl+H とすればサイドバーに検索履歴が
Ctrl+Shift+H とすれば別窓で何かもう少し強そうなものが出てきます
あとはこれを訪問時間の順番で並べて
検索窓に "google.co.jp/search" なんて入れれば
検索したフレーズが順番に並んでくれるという夢のような機能、履歴
こんな素敵な情報がどこに眠っているのかと思い
「firefox 履歴」で検索してみたところ
Firefox 3の履歴データの構造を理解するってページが出てきて
Placesデータベースのmoz_historyvisitsテーブルに定義されている各フィールドは、次のような情報を保持する。なるほど、そういえば places.sqlite ってあったな
なんで更に moz_historyvisits を検索すると辿りつくのが
SQLを使ってFirefox 3の履歴情報を取得するというページ
凄いぞ zdnet
~/.mozilla/firefox/???/places.sqlite に
moz_historyvisits と moz_places ってテーブルがあり
moz_places の方にはタイトルとか URL が
moz_historyvisits の方には訪問時刻とか対応する moz_places の id 等が格納されてて
更にサンプルコードまで上のページに載っているじゃない、SQL
凄いぞ zdnet
で、
python sqlite でググって sqlite3 module のライブラリの説明を読み、
サンプルコードをまんまつっこんで、sqlite3 のも上の SQL 文も、
Firefox 使ってると lock されてるとか言われるんで places.sqlite をコピーして、
import sqlite3とかしたらとりあえず検索語リスト出てきた
conn = sqlite3.connect(dbfile)
c = conn.cursor()
for i in c.execute('''SELECT h.id, p.title, p.url,
datetime(h.visit_date/1000000, 'localtime', 'unixepoch') AS 'visit_time'
FROM moz_places p, moz_historyvisits h
WHERE p.id = h.place_id
AND visit_date > (strftime('%s', 'now') - 60*60*24*5) * 1000000
ORDER BY h.id;
'''):
if i[2].find('google.co.jp/search') > -1:
print i[1], i[3]
なんか、履歴の窓出しながらページ見てると Firefox の動きが鈍くなる気がして
外部から履歴表示した方がいいかと思ったんだけどコピーってダサいなぁ
きっと何か方法があるんだろうと思いつつ Firefox でもいいかと思い直す体たらくっぷりを発揮
0 件のコメント:
コメントを投稿