Hatena::ブログ(Diary)

いぬビーム このページをアンテナに追加 RSSフィード Twitter

2005/01/29

 作り直しました。 →こっち

 以下は古い記録です。

mixiの各データをバックアップしたいな、という話

 以下のツールを公開しています。

  • メッセージ(受信、送信、下書き、ごみ箱)の一括保存
  • 日記の一括保存
  • 保存した日記をはてな形式に変換
  • 日記画像の一括保存

メッセージの一括保存

 メールアドレスとパスワードを入れると、保存用フォルダを作って全メッセージを落としてきます。目次も一応作ります。

 Windows用は普通にダブルクリックして下さい。「msvcr71.dllが無い」ってダイアログが出る場合、Windows Updateから .NET Framework 1.1 をインストールしてください。

 OSXの場合、Terminalを開き、文字コードをShift_JISにし、

cd zipを展開した場所

ruby mmd.rb

 としてください。

日記の一括保存

 使い方はメッセージと同じです。 mmd → mdd ね。

日記をはてなダイアリーでインポートできる形式に変換

 mdd.exe(かmdd.rb)で日記をダウンロードしたあと、同じ場所で実行してください。うまくいけば for_hatena.xml というファイルができます。

 このファイルは文字コードが嘘をついてるので(UTF-8を名乗っているが実際はEUC-JP)、エディタ等でUTF-8に変換してからインポートしてください。

日記中の画像を一括保存

 mdd.exe(かmdd.rb)で日記をダウンロードしたあと、同じ場所で実行してください。

 日記の画像とサムネイルをダウンロードした上、それを参照するように日記のhtmlを書き換えます。

 仕組み上、一度失敗すると日記htmlがダメになるので、日記フォルダはバックアップをとっておきましょう。

 http-access2を使用しています。

 exerbでexe化しました。

 Ruby'sライセンスです。

対策された

安定してサイトの運営をおこなう為、間隔を空けない連続的なページの遷移・更
新は制限させていただいております。ご迷惑をおかけいたしますが、しばらくお
待ちいただいてから操作をおこなってください。 
間隔を空けない連続的なページの遷移・更新を頻繁におこなわれていることが見
受けられましたので、一時的に操作を停止させていただきます。申し訳ございま
せんが、しばらくの間お待ちください。

 というわけで対策の対策。

clnt = HTTPAccess2::Client.new(proxy)
clnt.set_cookie_store("cookie.dat")

def clnt.get(url); sleep 10; super url; end

print "ログインしています。\n"
resp = clnt.post('http://mixi.jp/login.pl’, "email=#{email}&password=#{password}&next_url=/home.pl")

 のんびり取得するための改造です。mdd, mmd共通。

 まぁ、これ以上重くなるのもアレなので、なるべく空いてる時間帯に実行しましょう。

対応

 とりあえず _src の方だけ対策版に入れ替え。

 exeは、下手すると2週間後かなぁ。

 Windowsの人もRubyワンクリックインストーラ(一番上のピンクな行にあるruby182-14.exe)を入れれば「その他用」が使えます。コマンドプロンプトで

cd

 と打って、半角スペース打って、zipを展開したフォルダをプロンプト窓にドラッグ&ドロップして、enter打って、

ruby mmd.rb

 とかで動くはず。

ぐ。ぐ。 2005/01/29 02:18 おおすばらしい。>一括だうんろーだ。

ゆ 2005/01/29 20:36 EXE化を待ちます。

r2d2r2d2 2005/01/30 02:36 EXE化を待てずにw 試してみてます。丁度今ダウンロード中ですが順調にいってるみたいです。
ところで、mixiの日記が有料化するらしいので
はてなに引っ越したいと思うのですが、はてなのインポート機能はどんなフォーマットでしょうか?
このまま移植できたりしますか?

yune_kotomiyune_kotomi 2005/01/30 03:10 お邪魔します。はてなにインポート出来るのはエクスポートと同様のXMLか、MovableTypeから書き出した形式のデータです。
以前に私が書いた記事ですが、参考になるでしょうか。
http://d.hatena.ne.jp/yune_kotomi/20040618#p1

kusigahamakusigahama 2005/01/31 18:51 出力フォーマットは簡単そうですね。
保存している日記はhtmlを落としただけのものなんでもう一手間かかりますが、まぁやってみましょうか

kusigahamakusigahama 2005/01/31 19:48 はてなのインポートは追記になるのですね。
そしてencodingは無視してくれるっぽい。eucからUTF-8に変換せにゃならんようだ

kusigahamakusigahama 2005/01/31 20:18 MovableType形式だとコメントも乗せられますが、色んな意味で面倒なことになりそうですよねぇ

さはささはさ 2005/02/01 01:10 素晴らしい物をありがとうございます!
メッセージは送信済みも保存できるといいなぁと思いました。何を送信したんだっけ?と思う事もあるので。

kusigahamakusigahama 2005/02/01 10:09 あれ? 一応「受信」「送信」「下書き」「ごみ箱」とも保存しているつもりなのですが。

まい(^^)まい(^^) 2005/02/01 14:47 ずっとこういうものを誰かが作ってくださるのを、待っていました。早速ダウンロードして使わせていただいています。すばらしいです。ありがとうございました。

さはささはさ 2005/02/01 15:13 あぅ、私の環境ではinboxに送信済みが入るだけですねぇ。EXEを実行してログインするだけでいいんですよね?

さはささはさ 2005/02/01 15:17 再度トライしたらoutboxも開きに行ってくれました。昨日やった時は、inboxを開いて読んで終了だったのですよ。とにかく、mixiには前々から要望を出していたけど実現しなかった機能なので嬉しいです。ありがとうございました。

r2d2r2d2 2005/02/01 18:55 mixiの日記をはてなに変換してみましたが
exeもrbも変換うまくいかないんですけど、何かライブラリインストールしないといけませんか?
mixi_to_hatena.rb:29: private method `gsub!’ called for nil:NilClass (NoMethodEr
ror)
from mixi_to_hatena.rb:14:in `foreach’
from mixi_to_hatena.rb:14
from mixi_to_hatena.rb:9:in `open’
from mixi_to_hatena.rb:9

r2d2r2d2 2005/02/01 19:02 今日になって、mddを再実行してみたところ
次のメッセージが記録され取得できなくなりました。
どーやらこのスクリプトへの対策が行われたような気がします。
EXE化を待たずに実行しておいてよかったw

間隔を空けない連続的なページの遷移・更新を頻繁におこなわれていることが見
受けられましたので、一時的に操作を停止させていただきます。申し訳ございま
せんが、しばらくの間お待ちください。

kusigahamakusigahama 2005/02/01 20:36 適当に作っただけあって適当に動きますねぇ。

>r2d2さん
変換の方は、うまく解析できてない日記があるようです。
http://ukgk.s34.xrea.com/2005/01/mixi_to_hatena_2.rb
暫定的に「解析できない日記のファイル名を出力する」ものを作ってみたので、その日記に何か特徴があったら、教えてもらえると助かります

r2d2r2d2 2005/02/01 21:57 原因わかりました。
画像が貼り付けてあった日記が失敗してました。

r2d2r2d2 2005/02/01 23:05 画像を削除してから対策への対策を行ったmdd.rbで再度エクスポート(さすがに時間かかった)
してから、コンバート&インポートで無事にはてなに移民できました。
ありがとうございました。

kusigahamakusigahama 2005/02/02 01:10 とりあえず、解決しましたようで何より。
画像かー……

kusigahamakusigahama 2005/02/02 02:59 画像落とせる奴と、はてな形式への変換を画像があっても落ちなくしたものを上げました

kusigahamakusigahama 2005/02/02 03:07 exerbが現況1.8.1のみの対応なのか……

tantantantan 2005/02/05 21:02 はじめまして。メッセージDLツールも日記DLツールも
使わせていただきました。ありがとうございます。
日記中の画像一括保存もやってみたのですが、
DLできた画像が全て↓のようになってしまいます。
http://www002.upp.so-net.ne.jp/musictree/photo_diary_70_56_2707056_229.jpg
何が原因なのでしょうか?
Windowsで、_srcで日記を落とした後、同じところで画像を
落としました。日記のhtml上書きなどは、全てうまくいっています。
画像だけが変なのですが・・・

(´・д・`)(´・д・`) 2005/02/09 14:57 tantanさんといっしょの症状です・・・

kusigahamakusigahama 2005/02/21 21:13 作り直したので、そっちを使ってみてくださいませ

achaacha 2005/03/10 23:23 すばらしいです!動作も軽いし。ありがとうございました!

2006/04/03

いぬビームのまとめ このエントリーを含むブックマーク このエントリーのブックマークコメント

はてなブックマーク関連

はてブお気に入りサジェスタ
最近ブックマークした記事からお気に入りユーザを推薦web
お気に入りアレンジ
お気に入りページの重複エントリを人気順にまとめる&既読エントリを非表示化greasemonkey
全サイトはてブ化
各サイト下部にコメント表示・その場でクリップ・ワンクリでブクマgreasemonkey
↑の体験版
IEでもSafariでもOK。コメント表示のみweb
ビジュアルホッテントリ
人気エントリを一望に見渡すweb
Google×はてブ
Googleの検索結果にはてブのユーザ数を表示するgreasemonkey
はてブカレンダー2005
カレンダー形式で人気エントリを表示。タグ指定可web
ほてんこ
ホッテンコメントを眺めながら適当に記事を拾うweb
ちゅもえんこ
↑は人気エントリで、こっちは注目エントリ。どちらも読んだ端から消えていくweb
はてブ透明あぼーん
はてブentryで指定ユーザのコメントを非表示にするgreasemonkey
はてブエントリサムネイル
はてブentryに対象ページのサムネイルを表示するgreasemonkey

はてブ以外のはてな関連

はてなSNS
各サービスの出力を集めてSNS風に表示web
はてダプレビュー
はてなダイアリー編集時に、その場でプレビューgreasemonkey
hatena_refs
はてなダイアリーのアクセスログを1ヶ月分集計ruby
はてダラ猿
はてダラを利用して日記を自動アップロードwin32

mixi関連

backup_mixi
日記とメッセージをバックアップruby
miximix
mixiを使いやすくする。ヘッダをシンプル化・自動巡回・アカウント切り替えgreasemonkey
mixi_simple_header
mixiのヘッダをシンプル化。miximixの一機能を切り出したものgreasemonkey
mixiwiki
mixi上にwikiを作るgreasemonkey

その他

どのページでも b j k でスクロール
ちょっとキーバインドをいじるgreasemonkey
メモ
ただのメモweb
rescue_exif
ファイル構造が壊れたメディアから、デジカメで撮影したjpeg(Exif)とmovを救出するruby
たまえふ
どこまでも描ける絵板web
panels
2次元な掲示板web


 Greasemonkeyはここの「2. Install Greasemonkey.」ってとこからインストールできます。