はじめに
こんにちは、野村です。
今回は、Firefoxの履歴検索の結果をw3mに表示する方法です。
前回も同じ用途のものを紹介したのですが、
今回は、c++でSQLite3内のデータを取り出してみます。具体的には「Firefoxの履歴を検索し、その結果をHTMLで吐き出す」という小物です。
今回はPython3を使います。
以前、仮想コンソールで作業しているときにFirefoxを履歴を見たくなったことがあるのですよ。
でも、GUIを起動するのがめんどくさい。
そのときに書いたスクリプトです。
スクリプト
※6行目、Firefoxのデータベースのパスは、各自の環境に合わせてください。
#!/usr/bin/env python3 import sqlite3 import sys dbfile = '/home/jake/.mozilla/firefox/xxxxxxxx.default/places.sqlite' sql01 = "SELECT * FROM moz_places WHERE title LIKE '%%%s%%' ORDER BY id DESC;" htm00 = '''<html> <head> <title>rireki</title> </head> <body> <ul>''' htm01 = '<li><a href="%s">%s</a></li>' htm02 = '''</ul> </body> </html>''' args = sys.argv kw = args[1] if len(args) > 1 else "" cn = sqlite3.connect(dbfile) c = cn.cursor() print(htm00) c.execute(sql01 % kw); for r in c: print(htm01 % (r[1], r[2])) print(htm02) cn.close()
使い方
設置
・以上のスクリプトをパスの通ったデレクトリに保存します。
・とりあえずファイル名は「rireki」としておきます。
・このファイルのパーミッションを変更して実行権限を与えます。「chmod 755 rireki」など。
実行
次のコマンドでFirefoxの履歴検索を行います。
$ rireki 検索文字列|w3m -T text/html
w3mが起動して検索結果が表示されます。
最後に
以上、Python3を使ってFirefoxの履歴検索の結果をw3mに表示する方法を紹介しました。
w3mの「-T」は、表示する文書のタイプを指定するオプション。意外な活用方法があるもんですな。
次回は、このスクリプトをw3mのローカルスクリプトで動かしてみます。
今回は、w3mのローカルCGI機能を使ってFirefoxの履歴を検索する方法です。Python3を使います。仮想コンソールに切り替えて作業しているときに使えると思います。
というわけで、今回はこれにて。