auoneブログをexportする
import java.util.List; import java.util.Date; import java.net.URL; import com.sun.syndication.feed.synd.SyndFeed; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.io.SyndFeedInput; import com.sun.syndication.io.XmlReader; public class AuoneBlogExporter { private static final String FEED_URL = "http://blog.auone.jp/igarashitm/?disp=rss&pageID="; public static void main( String[] args ) throws Exception { SyndFeedInput sfi = new SyndFeedInput(); String prevTitle = null; Date prevDate = null; int page = 1; while(true) { SyndFeed sf = sfi.build(new XmlReader(new URL(FEED_URL+page))); List<SyndEntry> entries = sf.getEntries(); SyndEntry topEntry = entries.get(0); if( topEntry.getTitle().equals(prevTitle) && topEntry.getPublishedDate().equals(prevDate) ) { // auoneブログでは(他は知らね)、最終ページより大きいページを指定しても // 最終ページが取得されるので、 これを利用して最終ページを判定する。 break; }else { prevTitle = topEntry.getTitle(); prevDate = topEntry.getPublishedDate(); page++; } for( int i=0; i<entries.size(); i++ ) { SyndEntry entry = entries.get(i); // ここでエントリごとの処理。Description, title, PublishedDate, // entry.modules[0].subject(ここにカテゴリが入るっぽい) あたりを取り出して、 // はてな記法に変換すればよろし。 System.out.println( entry.getPublishedDate() + "\t" + entry.getTitle() ); } } } }
あとは、これをはてな記法に整形して投稿するか、はてなダイアリーのデータ形式に変換してインポートするか。インポートするなら、はてなに既存の同日付のエントリーが上書きされてしまわないか、とかを確認しておいたほうがよさげ。つか、rssの出力をさくっとはてな向けに変換する手段ないかなぁ。だれか作ってそうだけど・・・ともあれ、できることはわかったぞと。