Scrubyt ファーストインプレッション

半日ほど触ってみました。ドキュメントや機能に不足を感じる部分はありますが、ソースコードを読めばわかる程度の分量です。非常に楽しいライブラリでした。

早速、自サイトから読書履歴を抽出するスクリプトを作ってみました。

require 'rubygems'
require 'scrubyt'
mysite_data= Scrubyt::Extractor.define do
fetch 'http://blog.studiohff.net/'
click_link '読書'
book do
date '2007/06/10 22:06:34'
title '「サイエンス夜話 不思議な科学の世界を語り明かす」 読了'
readtime '3時間半'
end
end
mysite_data.to_xml.write(open('result.xml', 'w'), 1)

出力はこんな感じ

  <root>
<book>
<date>2007/06/10 22:06:34</date>
<title>「サイエンス夜話 不思議な科学の世界を語り明かす」 読了</title>
<readtime>3時間半</readtime>
</book>
<book>
<date>2007/04/24 01:36:13</date>
<title>「Subversion 実践入門 第2版」を第1版と読み比べてみた</title>
</book>

ハマった原因のほとんどは、英文読解能力の不足。公式サイトのサンプルがもっと多いと、英語が読めなくても雰囲気が掴めるので助かるなぁ、とは思います。

機能面で不足していると感じたのは、

  • 取得結果への編集
    今のところ、リードオンリーです。作成者も問題と認識しておりTODOになっているようなので、近いうちに改善するでしょう。
  • イテレータ
    mysite_data.book[0].dataという表現が出来るのに、mysite_data.book.each doは使えない。配列っぽくアクセス出来るなら、イテレータは欲しいところです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする