オープンソースの電子書籍管理ソフト「Calibre」を使いこなそう!

第4回 サーバー上のCalibreから,Kindleへニュースを自動プッシュする

この記事を読むのに必要な時間:およそ 2 分

みなさんはこの夏休みどちらかへでかけましたか? 僕はちょっと温泉へ行ってきました。「ちょっと行ってきました」と言ってもこの温泉,北アルプスのど真ん中で周りに車の入る道がなく,どの方向から歩いて行っても山小屋泊やキャンプ泊で2日間以上かかる(つまり往復に最低4日間必要。僕は5日間かけて行きました),と言う大変な苦労をしてゆかなければならないと言う所。日ごろそれほど歩かない僕としては,足がもげてしまうかもしれない!と言うほどの苦労をして温泉につかって来ました。

この温泉行はテントを持ってキャンプしながら行ったのですが,荷物を減らすために結構苦労をしました。その荷物減らしに役に立ったのがKindle。1日歩いた後は暇な時間も多いので,本などを持ってゆくのが良いのですが,本って数冊になると結構重いのですよね。Kindleだと文庫本1冊程度の重さで大量の本を内蔵できるため,非常に軽く済ませられます。こんな山の中だと3Gの電波も入らないため,ワイアレスを切りっぱなしです。そうすると電池の持ちも数週間は大丈夫なので,問題ありません。電子書籍って,こんな使い方もいいですよね。

サーバーにCalibreをインストールする

さて,今回はサーバーにCalibreをインストールして,そこからKindle等へニュースをプッシュ配信してみましょう。前にも言及しましたが,AmazonのKindleストアでは新聞や雑誌などの定期刊行物の定期購読ができて,それを使うとKindleのワイアレス(3G / Wifi)を介して自動的に定期配信されてきます。今回はCalibreで同じようなことをしてみます。つまり,サーバーにインストールしたCalibreのニュース取得機能を使って,毎日・設定した時刻にCalibreがニュースを取得し,そこからKindleユーザー向けにAmazonがサービスで設定しているメールアドレスへ自動配信してみます。

今回インストール先のサーバーにはGUI無しのLinuxサーバーを使ってみます。僕が個人的に使っているサーバーは,現在Cent OS 5とUbuntu 11.04のサーバーがあるのですが,試してみたところCalibreには少し新し目のglibcが必要のようで,CentOS 5ではインストールできませんでした。そのため,ここではUbuntu 11.04にインストールしてみます。

実はUbuntuにはすでにCalibreのパッケージがあり,apt等から簡単にインストールすることができます。しかし,Calibreの毎週アップデートには当然ではありますが追いついておらず,古いヴァージョンになってしまいます。その古いヴァージョンにお目当てのニュースがサポートされているならば,それを使っても良いのですが,ここではCalibreのLinux用バイナリをインストールして使います。

CalibreのLinux用バイナリをインストールは簡単です。公式サイトのLinux版のダウンロードページに記載されているとおり,以下のコマンドを実行してください。

sudo python -c "import urllib2; exec urllib2.urlopen('http://status.calibre-ebook.com/linux_installer').read(); main()"

このコマンドを実行すると,/optにCalibreがインストールされます。

日経電子版をKindleに定期配信する

さて,インストールができたら,今度はニュースを取得してみましょう。ここではCalibreのコマンドラインツールのebook-convertを使います。これは以前にニュース・レシピのデバッグ用として紹介しましたが,基本的には電子書籍のフォーマット変換ツールです。しかし入力にニュースのレシピを指定すると,ニュースのダウンロードをして指定したフォーマットへの変換までをやってくれます。今回はニュースの取得とKindleで読める.mobiファイルへのコンバート用として使用します。ebook-convertの基本的な使い方は以下の通りです。

/opt/calibre/ebook-convert input_file output_file [options]

レシピのデバッグ時にはinput_fileの所にレシピファイルを指定してそのレシピが実行しましたが,今回はCalibre内蔵のニュース・レシピを実行します。そのため,input_fileの部分には内蔵のニュース・レシピの名前が入ります。

/opt/calibre/ebook-convert '日本経済新聞(朝刊・夕刊).recipe' /tmp/nikkei.mobi --username=USERNAME --password=PASSWORD

Calibre内蔵のニュース・レシピの名前に「.recipe」を付けてinput_fileに指定してください。内蔵のレシピは,「ebook-convert --list-recipes」とすると一覧が表示されます。日経電子版は要購読なので,ユーザー名とパスワードが必要です。それらはオプションの「--username」「--password」を使って指定します。

これで,Kindleで読める.mobiファイルが/tmp/nikkei.mobiにできたので,これをメールでKindleに送ります。sendmail等の標準ツールで送ってもかまいませんが,Calibre付属のメール送信ツール「calibre-smtp」があるので,今回はそれを使って見ます。

/opt/calibre/calibre-smtp -a /tmp/nikkei.mobi  'ado@sig.or.jp' 'ado_81@free.Kindle.com' 'nikkei'

-a は添付するファイル,続くオプションは順に,自分のFromアドレス,送信先アドレス,メールの本文,です。これはKindleの仕様なのですが,送信先のfree.kindle.comはWifi接続時のみに使える無料アカウント。3Gに配信して欲しい場合には有料のkindle.comアカウントを使います。それとKindleの管理ページからFromアドレスからのメールを受信する許可があることを確認してください。

後はこれらをまとめてスクリプトにしてcronから呼べば,定期的にニュースのダウンロードがされて自動的にKindleへ日経電子版が配信されることになります。

Kindleにダウンロードしたニュース

Kindleにダウンロードしたニュース

余談ではありますが,今回設定した内容はCalibreのGUIを使えば,すべてGUIで設定できる機能ばかりではあります。そのため,Windowsサーバー等GUIで使えるサーバーを用意できる方はその方が簡単です。あるいは上手く運用できれば,サーバーを使わなくても空いているラップトップ等を使う事も可能ですね。

TIPS: Calibreのコンテンツ・サーバーを使ってみる

ここまでで,Kindleストアでの定期購読と同様のことができたわけですが,ニュースの中には毎日読まない,時々気が向いた時にしか読まない物もあります。そういうものはサーバー上のCalibreにダウンロードだけしておいて,Calibreのコンテンツ・サーバーを立ち上げておき,読みたくなった時にKindleのブラウザからアクセスすると,簡単にダウンロードできます。

上のebook-convertでニュースのダウンロードをした部分の後,次のコマンドでCalibreのライブラリDBに追加してみましょう。

/opt/calibre/calibredb add --duplicates /tmp/nikkei.mobi

そして,Calibreのコンテンツ・サーバーを立ち上げます。

/opt/calibre/bin/calibre-server --port=80 --username=USERNAME --password=PASSWORD --daemonize

こうすることで,このサーバーにブラウザからアクセスするとCalibreのコンテンツ・サーバーが見え,CalibreのライブラリDBの中の書籍が表示されます。

KindleのブラウザからみたCalibreのコンテンツ・サーバー

KindleのブラウザからみたCalibreのコンテンツ・サーバー

ちなみに,このコンテンツ・サーバーはOPDS(Open Publication Distribution System)カタログに対応しているので,iOS上のiBooksやStanza等から直接ブラウズすることもできます。iPadなどでこれらのニュースを読みたいときにはこの方法も簡単でよいでしょう。

著者プロフィール

西村亜土(にしむらあど)

さまよえるプログラマー?

フリーランスで,iPhone開発,Android開発,Webアプリ開発などのプログラム開発を行っている。最近は住所不定でよく変わる。現在は鎌倉でボーっとしている。とうとうcalibreの翻訳が一通り終わった!でも毎週リリースされるので,ほっておくとあっという間に新しい文章がたまりそう。なんだか庭の手入れ(雑草取り)みたいだ。

Twitter:@adonishi
Web: http://www.sig.or.jp/~ado/

コメント

  • 過日の日経新聞のダウンロード

    日経電子版を購読しており、本記事をみて参考になりました。
    ひとつ教えて頂きたいことがあります。
    ダウンロードできるのは当日だけでしょうか?
    ダウンロードできなかった日の新聞を後日ダウンロードできる方法があれば教えて下さい。
    よろしくお願いします

    Commented : #1  村上清明 (2014/01/12, 13:34)

コメントの記入