2005年03月28日 (月)

HaloScan トラックバックデータを export するコマンド exportHaloTB4iBlog

HaloScan のトラックバックデータをダウンロードして OPML 1.1 ファイルにまとめるコマンドを iBlog 用に作成したので紹介します。使える環境を整えるのが難易度高いです。先のエントリ「RSS バージョン相互変換コマンド rssconv の環境構築」と同程度です。
[2005年3月29日 更新]
Tracked の日付の読み取りを間違えていたので更新しました。

概要

HaloScan ではコメントを OPML ファイルとしてダウンロードできますがトラックバックにはその機能がありません。このため HaloScan のトラックバックからプチトラなどに移行するときは、手でせっせと Trackback-ping して内容を移行する必要がありました。しかし手で Trackback-ping するとトラックバックを受けた日時がそのときの日時になってしまいます。このため完全な移行手段がありません。

このコマンドを使用すると iBlog によるブログ全体または指定ブログ(複数可)の被トラックバック内容を OPML 1.1 の形式のファイルにすることができます。生成された OPML 1.1 のファイルは直接は omniOutliner では読み込めませんが、エディタで開いて二行目の 1.1 と書いてあるところを 1.0 に変更してしまうと読み込めます。omniOutliner で読めてもあまり嬉しくはありませんが OPML ファイルが正しく生成されたかどうかの確認にはなります。

このコマンドは importTB2ptb コマンドと合わせて使うことを意図しています。このコマンドと組み合わせることで HaloScan のトラックバックデータをプチトラのデータにインポートすることができます。

ダウンロード

私の iDisk の Public フォルダに iBlog/exportHaloTB4iBlog-1.3.tar.gz として置いてあります。このリンクからダウンロードするか私の iDisk の Public フォルダをマウントして取得してください。

ダウンロードしたアーカイブにはコマンド本体と HTML で記述されたマニュアルが入っています。

環境構築

まず前提となるのが Xcode Tools という Mac OS X の開発キットです。これがないとインストールできません。私の Mac には /Applications/Installers/Xcode Tools というフォルダに Developer.mpkg というインストーラが入っていました。これをオープンして(Finder でダブルクリックして)インストールしてください。普通のアプリケーションのインストールと変わりありません。

Mac OS X 10.3 では exportHaloTB4iBlog が使用している Perl モジュールのうち

  • XML::OPML
  • Net::HTTP
  • HTTP::Status
  • HTML::Parser
  • Jcode
がプリインストールされていません。このためこれらをインストールする必要があります。また、XML::OPML をインストールするときにインストールされる XML::Parser では expat というライブラリを使用します。この expat もインストールしなければなりません。更に XML::OPML をインストールするために必要な XML::SimpleObject という Perl モジュールは私の環境では自動でインストールできませんでした。これも別途インストールする必要があります。

expat のインストールについては先のエントリ「RSS バージョン相互変換コマンド rssconv の環境構築」のセクション「expat のインストール」をご覧ください。

XML::SimpleObject のインストールについては先のエントリ「RSS バージョン相互変換コマンド rssconv の環境構築」のセクション「Perl モジュールを手動インストール」を参考にして行ってください。

これ以外の Perl モジュールについては先のエントリ「RSS バージョン相互変換コマンド rssconv の環境構築」のセクション「Perl モジュールのインストール」を参考にして行ってください。最後の

install XML::RSS
で、XML::RSS を上記にリストした Perl モジュールの名前(XML::OPML とか Jcode とか)に代えるとインストールできます。

使用方法

  1. ターミナルを起動する。

    ターミナルウィンドウが一つ開かれます。以後このウィンドウ上での操作になります。

  2. ターミナルウィンドウに exportHaloTB4iBlog のアイコンをドラッグ&ドロップする。

    ターミナルウィンドウに exportHaloTB4iBlog のパス名+スペースが書き込まれます。

  3. ユーザ名を指定する。

    HaloScan で使用しているユーザ名があなたの Mac のユーザ名と異なる場合は次をタイプしてスペースを追加してください。

    --user HaloScanのユーザ名
  4. 文字コードを指定する。 HaloScan で使用している文字コードが UTF-8 ではないときは次をタイプしてスペースを付かしてください。
    Shift_JIS を HaloScan で使用しているとき
    --charset sjis
    EUC-JP を HaloScan で使用しているとき
    --charset ujis
    ISO-2022-JP を HaloScan で使用しているとき
    --charset jis
  5. ブログを限定する。

    トラックバックデータをエクスポートしたいブログを限定するときは次をタイプしてスペースを追加してください。

    --blog BlogUUID
    ここで BlogUUID とは iBlog のプレビューフォルダの直下にある BNNNNNNNN(Nは数字) という形式をしたフォルダの名前です。どのフォルダが目的のフォルダかはそのフォルダの下にある index.html を見て判断してください。

    この指定は複数繰り返すことができます。一つ以上のブログを指定するときは、この操作を繰り返してください。

  6. 実行時に安心するために冗長モードを指定する。

    コマンド実行時は HaloScan に大量にアクセスします。エントリ数や回線の太さによっては実行にかかる時間が長くなります。この間 exportHaloTB4iBlog は通常黙ったままですが、イライラ解消をしたい人は次をタイプしてスペースを追加してください。

    --verbose
  7. 出力先のファイル名を指定する。

    exportHaloTB4iBlog は標準出力(要はウィンドウ上みたいなものです)に OPML ファイルの内容を出力するので、そのままではだらだらと表示が流れるだけでファイルにできません。そこで次をタイプしてください。

    > 出力ファイル名
    出力ファイル名 には日本語を使わず、拡張子は .opml にしてください。
  8. 改行をタイプして実行する。

    冗長モードを指定してる場合は処理されるエントリがずらずらと出力されます。冗長モードを指定していないときは静かに黙っています。どちらの場合でも最後は exportHaloTB4iBlog のアイコンをドラッグ&ドロップする直前に始めから書かれていた文字列(シェルプロンプト)が現れたら終わりです。

全体としては例えば次のようになります。
/Users/okamura/Desktop/exportHaloTB4iBlog-1.1/exportHaloTB4iBlog --user yujiokamura --verbose > HaloTrackback.opml

Posted: 14:04    | Comment | Trackback


以下、類似エントリです。