移転前のブログ、エキブロから、なんとか過去の記事を持って来れないかを試みています。
エキブロって、バックアップのシステムがないんですよ。。トホホ。。
んで、PHPを使ってデータをごっそり持ってこようと考えてたらこんな時間に。。w
なんと、月ごとの記事一覧からタグを切り出して配列に入れていくというヘンテコなスクリプトです。。
なんとか、記事を取り出すことができそうな感じなので、書いておきますね。
皆さんのバックアップのヒントになればと思います。(でも、エキブロに戻すことはできませんよぉ。。)
CODE:
<?php
/**スキンがスクエアベーシックの場合のスクリプトになっています**/
/*********************初期設定************************/
$target_blog = "http://groovecafe.exblog.jp/";//自分のブログ
$year = 2004;//ブログをスタートしたときの西暦
$month = 6;//ブログをスタートしたときの月
$Period = 20;//開始月から今月までの期間(何ヶ月)
/*****************************************************/
$target_month = date('Y-m-d',mktime('','','',$month,1,$year));//スタート時
$ID=0;//IDの初期化
$target = $target_blog.'m'.$target_month;
$Mi =1;
while($Mi < $Period){
$fp = file_get_contents($target,'r');//月一覧ページ
$contents =explode('<A NAME=',$fp);//
$suu = count($contents);
$i=1;
while($i < $suu){
//タイトル
$title_data[$i] = $contents[$i];//作業用に$title_dataに格納
$title_cut = strstr($title_data[$i],'</A>');//タイトルのすぐあとの</A>以降の取り出し
$title[$ID] = str_replace($title_cut,'',$title_data[$i]);//タイトルだけにする
$title[$ID] = strstr($title[$ID],'>');//(スクエアベーシックの場合)
//記事内容
$summary = explode('<DIV CLASS=POST_BODY_SUB>',$contents[$i]);
$tail = strstr($summary[1],'</DIV>');//記事のあと最初の</DIV>以降の取り出し※記事中に</DIV>が有れば誤動作するかも。。
$postdata[$ID] = str_replace($tail,'',$summary[1]);//記事内容だけにする
//記事の投稿者
$post_author = explode('<SPAN CLASS=AUTHOR>',$contents[$i]);
$tail = strstr($post_author[1],'</SPAN>');
$author[$ID] = str_replace($tail,'',$post_author[1]);
//記事の投稿日時
$post_time = explode('<SPAN CLASS=TIME>by ',$contents[$i]);
$tail = strstr($post_time[1],'</A></SPAN>');
$time_temp = str_replace($tail,'',$post_time[1]);
$time[$ID] = strrchr($time_temp,'>');//あとでunixtimeに変換
$i++;
$ID++;
}
if($month!="12"){
$month++;
}else{
$month=1;
$year++;
}
$target_month = date('Y-m-d',mktime('','','',$month,1,$year));
$target = $target_blog.'m'.$target_month;
$Mi++;
}
//とりあえず内容の確認
/*
echo "[記事タイトル]<br />";
var_dump($title);
echo "<hr>";
echo "[記事内容]<br />";
var_dump($postdata);
echo "<hr>";
echo "[投稿者]<br />";
var_dump($author);
echo "<hr>";
echo "[投稿日時]<br />";
var_dump($time);
*/
?>
※配列に格納するところまでしか作っていません。
※切り出しタグがスクエアベーシックのスキン用になっています。自分のブログに合わせて変更してね。。
※非公開の記事や、コメント欄のバックアップはできません。
--
しかし、ブログの持ち主すら、すべてをバックアップできないエキブロって。。w
ちなみに、回線の速度にもよると思いますが、2分ぐらいで、旧GrooveCafeの918件の記事のすべてが配列に入りました。