http://frepan.org/~TOKUHIROM/Web-Query-0.01/README.pod
Web::Query というスクレイピングフレームワークをかきました。一言でいうと「うごく pQuery」です。pQuery は jQuery とおなじ動きにするためかどうかしりませんが、わりと自前で実装していて、結果まともにうごいていません。うごくようになるのをまってようかなとおもっていたら2年経過していたので、自分でつくってみました(パッチをおくってもいいのだけど、別個の実装をつくったほうがはやい気がしたので)。HTML::TreeBuilder::XPath + HTML::Selector::XPath + LWP::UserAgent という構成です。
使用例は以下のとおり。
use Web::Query; wq('http://google.com/search?q=foobar') ->find('h2') ->each(sub { my $i = shift; printf("%d) %s\n", $i+1, $_->text });
この種のライブラリとして Web::Scraper があるが、Web::Scraper の DSL をおもいだすまでにどうしても時間がかかりがちだったので、こういう風なのもいいかなとおもった。jQuery は日常的につかってるので、わすれないし。