2012年3月11日日曜日

seesaaからblogspotに引越し

 2004年の3月にseesaaでブログを開設して以来8年の長きに渡ってseesaaを使ってきましたが、細かく不満が募ってきたのでblogspotに引っ越しました。

 引越しには無茶苦茶苦労しました。基本的な流れは以下の様になります。

  1. seesaaブログの管理機能を使ってmovabletype形式で旧ブログデータをエキスポート
  2. エキストートしたデータをmovabletype2bloggerでblogger(blogspot)にインポート可能なXMLに変換
  3. 変換したXMLをblogspotにインポート

 まず苦労したのはseesaaブログデータのエキスポートです。seesaaの管理機能ではエキスポートは「一気に全部」か「1ヶ月毎」しか出来ません。「一気に全部」が出来れば楽なのですがデータが大きい場合「一気に全部」はそもそも機能しません。従って月毎にエキスポートしていく事になります。僕の場合8年分なので12*8で96回程エキスポート作業が必要です。

 第二に、エキスポートしたデータをそのままXMLに変換すると、日付けデータが正しく変換されません。これはseesaaブログの日付けデータがJST(日本基準)なのに対してblogspotはUTC(グリニッジ基準)だからです。これを何とか変換してやる必要があります。検索してみると以前は「slmame MT形式にちゃんとこんばーと」というサイトでこの変換が可能だった様ですが今ではこのサイトは存在していません。

 仕方が無いので僕は自分で以下の様なperlのスクリプトを書いて日付けを変換しました。

#!/usr/bin/perl -w

use strict;
use warnings;
use POSIX qw(strftime);
use Time::Local;

my $tm;
my $ltm;
my $tmstr;

while (<>) {
  chomp;
  if ( /^DATE: (\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/ ) {
    $tm = $_;
    $tm =~ /^DATE: (\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;
    $ltm = timelocal($6, $5, $4, $2, $1-1, $3);
    $tmstr = strftime("%m/%d/%Y %I:%M:%S %p", gmtime($ltm));
    print "DATE: $tmstr\n";
  } else {
    print "$_\n";
  }

}

 そもそもコメントやトラックバックがインポートできなかったり、一部タイトルが上手くインポートされない等問題はありますが、取り敢えず全ての記事を引越しできました。

0 件のコメント:

コメントを投稿