このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
基本的な所は大体終わった。
最後に、日記の一覧を出力しよう。
日記は別々のファイルとして出力されるので、
ファイル名だけを見ても内容が分からない。
日付とタイトルの一覧をファイルに出力しておけば便利だ。
Excel 等でも扱えるように、UTF-8 のタブ区切りにしよう。
これさえあれば、日記の一覧はすぐに作れるので、
後で一覧のページを作る事も可能になる。
やることは大した作業ではない。
今までどおり、ADODB.Stream を利用すれば良いのだ。
// 一覧出力用のストリーム
var list = new ActiveXObject("ADODB.Stream");
list.Open();
list.Type = adTypeText;
list.Charset = "UTF-8";
list.LineSeparator = adCRLF;
(中略)
// 項目を列挙
while (iterator.hasNext()) {
(中略)
// タブ区切りで一覧に項目を追加する
list.WriteText(date.getFullYear()
+ "/" + (date.getMonth() + 1)
+ "/" + date.getDate()
+ " " + date.getHours()
+ ":" + date.getMinutes().formatLeadingZeroes(2));
list.WriteText("\t");
list.WriteText(item.getTitle(), adWriteLine);
}
// 一覧を書き出す
list.SaveToFile(outDir + "list.txt", adSaveCreateOverWrite);
これによって、一覧をテキストで書き出すことができる。
今回はテキスト出力を UTF-8 で統一しているが、
これは別に好きなエンコーディングで出力して構わない。
プログラム処理をすることを考えれば、
Shift_JIS や、EUC-JP を使ってもいいだろう。
今回作ったエクスポータは最少の機能しか備えていないが、
これを応用すればコメントやプロフィールのエクスポート、
さらに日記の追加や編集等、何でも作ることができる。
HTA (HTML Application) を使えば、
GUI も HTML で構築することができるので、
その気になれば専用ビューアなどの、
インタラクティブなアプリも作成することができる。
まあ、やる気があればの話ではあるが。
mixi の仕様も常に最新版を追いかける必要もあるしな。
こういった HTML の動的解析は、
一世代前の Web システムではよく使われていた機能だ。
検索エンジンなど、他のサイトに関する情報を扱う、
2 次的なサービスではまだまだ現役の機能だ。
最近は、XML+XSL ベースによるサービスや SOAP 等、
データ形式を規格化した Web サービスも増えてきたが、
まだまだ数多くのサイトは古い HTML のままなのである。
IP の上に UDP や TCP があり、
昔は、TCP がプラットフォームであった。
そこには色々なプロトコルが誕生してきた。
最近は、何でも HTTP に適合して利用する風潮がある。
例えば、Web メールは、STMP + POP や IMAP、
WEBDAV は、FTP や SMB、AFP からの発展系だ。
また、各社 Messenger や Skype 等、
HTTP の 80 番のポートを使い、
通信内容に独自仕様のプロトコルを乗せる物もある。
最近は HTTP がプラットフォームとなっているのである。
まあ、ニュース系 Web サイトを NNTP フィードしたり、
Web メール専用の Web サイトに、
SMTP や POP、または IMAP の皮を被せたりと、
時代に逆行するようなことをやってもいいのだが……
今後、DNS over HTTP などが出てくるのだろうか。
Web にはまだまだ研究材料がありそうである。