Firefoxの履歴検索の結果をw3mで表示する(Python3使用)

はじめに

こんにちは、野村です。

今回は、Firefoxの履歴検索の結果をw3mに表示する方法です。
前回も同じ用途のものを紹介したのですが、

c++でSQLite3を読み込む(Firefoxの履歴検索)
今回は、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上でFirefoxの履歴を検索する(Python3-ローカルCGI)
今回は、w3mのローカルCGI機能を使ってFirefoxの履歴を検索する方法です。Python3を使います。仮想コンソールに切り替えて作業しているときに使えると思います。

というわけで、今回はこれにて。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

野村 野村のプロフィール
メインPCはWindows10のVirtualBox上のFreeBSD。Linux/Unixの小ネタを求めて日々右往左往してたりする。