mixi export

mixi exportとは?

mixi の日記とコメントのログをはてなダイアリーadiaryで取り込める形式に変換するツールです。adiaryのエクスポート機能を使用することにより、Movable Type形式やJUGEM形式といったログを得ることも可能になります。

  • Windows用実行ファイル mixi_export.exe は ActivePerl + PAR にてパッケージ化したものです。
  • Perlインストール環境向けの mixi_export.pl を実行する場合は、Perl 5.8.1 以降が必要です。

利用は個人の責任でお願いします(無保証)。なお、本ツールに関連してmixiおよびはてなダイアリーに問い合わせることは絶対におやめください。どちらも無関係です。

変更履歴

  • 2008/03/06 月の記事数が60を越えるとき60件までしか取得できない問題を修正しました(Thanks to kazさん)。
  • 2007/10/21 月の記事数が30を越えるとき無限ループになる問題を修正しました(Thanks to konnokさん)。
  • 2007/10/08 mixiの仕様変更に対応しました。
  • 2007/01/05 各記事の保存ファイル名を日付がわかりやすいように変更しました(バージョンアップ時は旧ログは一度削除し再度取得し直してください)。また再取得範囲の決定方式を変更しました。
  • 2006/12/30 1記事に51件以上コメントがあるときもきちんと取得できるようにしました。
  • 2006/12/28 ひと月あたり31件目以降の日記が取得できない問題を修正しました。
  • 2006/12/27 mixiの仕様変更に対応しました(コメントの解析に失敗していました)。
  • 2006/12/17 mixiの仕様変更に対応しました(日記本文の解析に失敗していました)。
  • 2006/07/26 初版

使い方

ツールを実行すると、メールアドレスとパスワードを入力する画面が表示されます。指示に従って mixi のアカウントであるメールアドレスとパスワードを入力すると、ログインが行われ、自動的に処理が開始されます。処理が終了すると、adiary.xml や hatena.xml といった名前でエクスポートしたログが作成されます。いずれの形式のファイルも、はてなダイアリー/adiaryでインポート可能です(はてなではテストしてないので、問題がありましたら作者まで連絡ください)。

backup_mixiというツールを使用している方は、backup_mixi 本体と同じディレクトリにおいて実行してください。その場合、mixiに接続することなく、backup_mixi の取得済過去ログ(日記ログ)から、エクスポートログを作成します。backup_mixi には、はてな形式でログを出力(エクスポート)する機能が備わっていますが、本文の書式がイマイチだったり、コメントを出力しないなどの仕様ですのて、ことadiaryに取り込んだり、更にMT形式などに変換する場合は、このツールを利用する方がベターです。

コマンドラインオブション

mixi_export.exe/pl を -h オブション付きで実行すると次のようなヘルプが表示されます。

Usage: mixi_export.exe [options] [output_xml_file]
Available options are:
  -c charset	画面出力時の文字コードを指定します
  -m email	ログインに使用するメールアドレスを指定します
  -p password	ログインに使用するパスワードを指定します
  -g		mixi に接続しログを取得します (default)
  -n		mixi に接続せずに、セーブされたログを処理します
  -s sec	sleepする時間を指定します(単位:秒)(default:5)
  -l log_dir	ログを保存するディレクトリを指定します
  -a {0|1}	1:adiary向けのログ出力(default) 0:はてな向けのログ出力
  -?|-h		このヘルプを表示します
オプション補足説明
-c charset 画面に出力するメッセージの文字コード。Windows環境ではShift_JIS、UNIX系環境では環境変数 LANG を参照し設定されます。
-m mail mixiにログインする際のメールアドレスを指定します。指定されなかった場合は、入力を求めるメッセージが表示されます。
-p password mixiにログインする際のパスワードを指定します。指定されなかった場合は、入力を求めるメッセージが表示されます。
-s sec mixiからデータを取得する時間間隔(sleep時間)を秒で設定します。デフォルトでは5秒になっており、1つの記事を取得してから次の記事を取得するまで5秒の休みを取られます。他のmixi利用者の迷惑になるので、減らすことはやめましょう。
-l log_dir ログを保存するディレクトリを指定します。./log がディフォルトです。
-a1 adiary向けのログ出力します(ディフォルトです)。タイトルは記事タイトルに指定され、本文はそのままになります。最終的にMT形式などに変換したい場合はこちらを推奨します。adiaryで取り込むことが目的の場合は、実際のところどちらでも構いません。
-a0 はてな向けのログ出力します。はてなで記事を取り込む場合はこちらを推奨します。タイトルは記事タイトルに指定される他、本文1行目に見出しとして出力されます。はてなでは同一日の記事は1つに纏めらるため、このようにしないと個別の記事の境目が分からなくなります。

実行オプションのサンプル

mixiに接続する際のメールアドレスとパスワードを指定します。

mixi_export -m my@mx.my_provider.ne.jp -p my_password

mixiに接続せずに、すでに取得してあるログファイルを再処理し、はてな向けの形式で mixi_export.xml に出力します。

mixi_export -n -a0 mixi_export.xml

mixiに接続する際の sleep 間隔を3秒に設定します(朝や昼間など利用者が比較的少ない時間以外はやめましょう)。

mixi_export -s3

過去30日分の再取得を試みます。

mixi_export -d30

FAQ

●接続が遅いのですが。sleep 時間を1秒にしてもいいですか?
標準で5秒間隔でデータを取得しますので、(mixi側が接続を拒否するまで積極的にsleepしない)backup_mixi と比べて動作が遅いと感じるかも知れません。コマンドラインオプションで変更可能ですが、このようなツールで自動的にログを取得する際(ロボット)は、相手サーバの迷惑にならないようにゆっくり取得するものだとお考えください。あまり短いsleep時間を設定することはmixi利用者全員の迷惑となりますので、ご注意ください
●うまく動作しません
接続できないのであればネットワーク環境を疑ってください。接続できていのるであれば、mixiの出力データの仕様が変わった可能性があります(ご連絡いただければ対応します)。
●頻繁にエクスポートしておく方がいいですか?
迷惑ですからやめましょう。mixiのログをどこかに移したいと思ったときに1回だけ使えばいいと思います。
●はてなダイアリーでのインポートに失敗しました
……対応しますのでご連絡ください。なお、はてなダイアリーでは仕様上コメントのインポートはできないようです
(おまけ)mi*iの者ですが、こういうツールの作成は(以下略
どうせこの手のツールは誰か作るし制限をかけることも現実的でないのだから、早々にエクスポート機能(など)を実装するか、ロボット向けのAPIを制定する方がよっぽど現実的な回答だと思うのですけどね……。サーバ負荷になるだろうから使ってないけど、mi*iChecker とか mi*iGraph とか(以下略