BLOGTIMES
2007/05/13

Web::Scraper超便利

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

もう3年くらい前になりますが、Template::ExtractでWebのスクレーピングをするのが便利だという話がありました。で、当時作ったスクリプトが実はまだ某所で動いていたりするわけですが、いまやもっと便利なライブラリができてるんですねぇ。

naoyaのはてなダイアリー - Web::Scraper

ばっちりですね。シンボルの書き方とかがちょっと違うところ以外は Ruby 版とほぼ等化。DSL 周りのドキュメントはまだないけどとりあえず scrapi のドキュメントを読めば ok! \(^o^)/

時間はただ流れているわけでありませんね。ということでちょっとテストしてみました。perlを書くのは久しぶりです。

ちょっとつくってみたもの

まずはperl -MCPAN -e install Web::Scraperをしておきます。
下記のコードはほとんどサンプルと一緒でページからh1とh2を取り出して表示します。

ws.pl

#!/usr/local/bin/perl use strict; use warnings; use FindBin::libs; use URI; use Web::Scraper; use Encode; use YAML; my $links = scraper { process 'h1', 'h1[]' => 'TEXT'; process 'h2', 'h2[]' => 'TEXT'; result qw/h1 h2/ }->scrape(URI->new(shift)); warn encode('euc-jp', YAML::Dump($links));

実行結果

$ perl ws.pl http://blog.cles.jp --- h1: - cles::blog h2: - 夜中に人の家に突撃して、肉じゃがを作るオフ? - 移動の前にこれ1本 - svchost.exeのCPU使用率が100%になるのはバグだったのか - ぐるなびWebサービス開始 - phpでオープンソースなアンケート作成ソフト「opensurveypilot」 - Smartyの日本語マニュアル - FizzBuzz問題が解けますか? - 遅ればせながらtwitter始めました - オリジナル版NP_TrackBackが 2.1.0に - 目指せ、16連射!

ばっちりです。coolですね。
あー、例のモジュール書き直そう。。。。。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2003
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン