2011/03/10

excite blog から Blogger にお引越し

エキサイトブログ(http://shotoku.exblog.jp/)から移転してきました。
よろしくお願いします。m(__)m


移転の際、
エキサイトブログから、Bloggerへの引越し方法
(http://memo-maniera.blogspot.com/2010/12/blogger_13.html)

エキサイトブログのエクスポート後に、余分な部分を削除する方法。
(http://memo-maniera.blogspot.com/2011/01/blog-post.html)

を参考にさせていただきました。非常に丁寧に書かれています。

しかし余計な部分を削除するエクセルVBAがうまく使えないしVBAよく分からんし自分で弄りたいしということで、Perlで自力でスクリプトを書くことにしました。Perlくらいしか分からないんだ。
先に書いておくと私用仕様なので公開はしてません
がやったことメモ。



1) エキサイトブログのスキンを一時的にベーシックに変更 。
2) エキサイトブログ(Excite blog)引越ツールでFC2形式でエクスポート。
3) エクスポートしたファイルをUTF-8に変換。
4) 色々する。(
5) MovableType2Blogger conversion utilityでBlogger形式に変換。
6) Bloggerにうpする。


2) エキサイトブログ(Excite blog)引越ツール
これは、エキブロをFC2用のMT形式にしてくれるサイトです。
非公開記事、非公開コメント、トラックバックは出力されません。
ログインパスワード等を入力して変換してくれるサイトもあった気がするのですが忘れました。
この引っ越しツールでは、記事のタイトルとコメントに一部の半角記号が含まれた場合
例えば「>」は「>」に変換されます。
MovableType2Bloggerでは普通に「>」と書かなければいけないので、4)で変換します。

3) UTF-8に
引っ越しツールのエクスポートファイルは文字コードがSJISになっていて、
MovableType2BloggerはUTF-8が好み(しらんけど)。
とにかくUTF-8にする。

4) 色々
上記の参考サイトでは 余分なタグを削除する(任意) とありますが、これは是非やるべきだと思います。
ファイルサイズが半減します(当社比)。
それから余分なタグを削除した後
slmame MT形式にちゃんとこんばーとで、コンバートする。
という工程がありますが、これは日付をBlogger形式に変換してくれるだけ(多分)なので自分でやります。
このツールも記号を一部変換してくれますが、
BloggerかMovableType2Blogger側の仕様変更なのか何なのか、やらない方が良いのでこのツールには通しません。

色々の内容ですが、余分なタグの削除の他にタグをラベルにするとか色々です。
下の例文は上記参考サイトから。一部書き換えてます。

AUTHOR: maniera
TITLE: ブログを引っ越しました。
STATUS: Publish
ALLOW COMMENTS: 1
CONVERT BREAKS: 0
ALLOW PINGS: 1
PRIMARY CATEGORY: news
CATEGORY: news

DATE: 12/05/2010 03:37:00
-----
BODY:

<div class="POST_BODY"><!-- interest_match_relevant_zone_start -->
ここに本文が入ります...。
「More」を使った場合
<A NAME=数字列_1></A>もあー!
本文終わり。
<DIV CLASS=TAGS>
タグを設定していた場合、Tags:中略exblog.jp/tags/%E3%82%BF+%E3%82%B0/
中略
</DIV>

「ソーシャルツール表示」した場合
<div class="sm_icon_mini clearfix"><iframe src=
中略
</div>

<!-- interest_match_relevant_zone_end -->
中略
</div>

-----
EXTENDED BODY:
-----
EXCERPT:
-----
KEYWORDS:
-----
COMMENT:
AUTHOR: maniera
DATE: 12/12/2010 06:27:00
SECRET: 0
test コメントテスト
-----
--------

これが引っ越しツールエクスポートファイルの1記事分です。
記事は「--------\n」で区分されます。


■「More」について。
Bloggerにはずっとこの機能がなかったのですが、2009年9月に追加されたらしいです。
(http://www.kuribo.info/2009/09/blogger.html)
引っ越しツールのエクスポートファイルでは<A NAME=数字列_1></A>と出力されます。
これを、Bloggerの「もっと読む」の<!--more-->に置換します。


■CATEGORYについて。
エキブロで「カテゴリ」だったものは
PRIMARY CATEGORY: news
CATEGORY: news
に出力されます。
これはBloggerではどう扱われるかというと、
PRIMARY CATEGORY: は無視
CATEGORY: は「ラベル」
になります。CATEGORY:は複数設定可能です。詳しくはうぇbで。
ということで、エキブロでの「タグ」をCATEGORY:に設定することにします。


■改行について。
エクスポートしたファイルでは、記事の冒頭と末尾に余計な改行が入っています。
-----
BODY:
本文
おわり
-----
こんな風に余計な改行を削除しておきます。


■日時について。
日時はJST(UTC+9)の24時間表記で
12/12/2010 06:27:00
と書かれています。これをUTCの12時間表記
12/11/2010 09:27:00 PM
に変換します。
この処理でTime::Pieceというモジュールを使いました。
DateTimeの軽量高速版的なものらしいです。
%m/%d/%Y %T
から
%m/%d/%Y %I:%M:%S %p
こんな感じです。
%pの部分は「午前/午後」となるので、
「AM/PM」とするために処理の前にロケールを変更します。


■記号について。
記事タイトルとコメントに一部の記号が使われていた場合、引っ越しツールで変換されます。これを元に戻します。
&gt;>
&lt;<
&#39;'
&quot;"
&&&
他にもあるかも?

以下に処理内容。

1. まず1記事分読み込む。
2. 本文冒頭の\n<div class="POST_BODY"><!-- interest_match_relevant_zone_start -->\r\nを削除。
3. 「More」の<A NAME=\d+_\d></A>を「もっと読む」の<!--more-->に置換。
4. インタレストマッチ他余分タグ<!-- interest_match_relevant_zone_end -->から最後の</DIV>までを削除。
5. 「ソーシャルツール表示」の<div class="sm_icon_mini clearfix">から最後の</div>までを削除。
6. CATEGORY:の行を削除。
7. 「タグ」が設定されていれば、%E3%82%BF+%E3%82%B0 の部分を抜き出してURLデコード。
8. CATEGORY: タ グ の行を追加。
9. 7.8.を個数分繰り返す。最大3回。
10. 「タグ」の残骸 <DIV CLASS=TAGS>から最後の</DIV>までを削除。
11. 本文末尾の余計な改行を削除。
12. コメント公開設定 SECRET: 0 の行を削除。
13. 日時を修正。
14. TITLE: の行で記号を修正。
15. COMMENT: から最後まで記号を修正。
16. ファイルに書き出す。
17. 1.~16.を繰り返す。


5) MovableType2Blogger conversion utility
6) うp
処理が終われば、Bloggerのxmlファイルに変換し、Bloggerにインポートします。
インポート後、コメントで勝手にスパム扱いになってるものもあるかもしれないので確認します。コメントなんてなかった。



利用ツールURL

エキサイトブログ(excite blog)引越しツール
http://www.happiese.com/flex/exblog.html


MovableType2Blogger conversion utility
http://movabletype2blogger.appspot.com/


参考URL

エキサイトブログから、Bloggerへの引越し方法
http://memo-maniera.blogspot.com/2010/12/blogger_13.html

エキサイトブログのエクスポート後に、余分な部分を削除する方法。
http://memo-maniera.blogspot.com/2011/01/blog-post.html

slmame MT形式にちゃんとこんばーと
http://maille-labo.com/conv.php

クリボウの Blogger Tips
http://www.kuribo.info/

Perl で url エンコードと url デコード
http://sonic64.com/2003-08-31.html

Movable Type のブログ記事インポートフォーマット
http://www.movabletype.jp/documentation/appendices/import-export-format.html

Time::Piece - search.cpan.org
http://search.cpan.org/~msergeant/Time-Piece-1.20/Piece.pm

Perlでlocaleを扱う - Life is very short
http://d.hatena.ne.jp/syohex/20091107/1257603131

0 件のコメント:

コメントを投稿