2010-07-26から1日間の記事一覧

Web::Scraperのscraperコマンドのサブコマンド

冗長なタイトルだなあ・・・。 d, y, s, q, c, c all というのがあるらしいです。いつも忘れるので。 sub run_loop { my($tree, $term) = @_; while (defined(my $in = $term->readline("scraper> "))) { if ($in eq 'd') { $Data::Dumper::Indent = 1; warn…

ひびちからじおの更新をチェックするですよー

最初はお手軽にwgetでヘッダー情報を取ってくるとか中身をdiffすればいいとか考えたんだけど、どうもそれだけでは不十分のようで、結局スクレイピングすることに。 use strict; use warnings; use Web::Scraper; use URI; use Win32; use utf8; binmode STDO…

animate.tvのscrape

今日だけじゃなくて明日のために。 process '//table[@class="playlist"]', 'content[]' => scraper{ process '//tr[1]', 'title' => 'TEXT', process '//tr[3]/td[1]', subtitle => 'TEXT', process '//tr[3]/td[@class="play_btn"]/a', 'play' => '@href',…

animate.tvのscrape (2)

use strict; use warnings; use WWW::Mechanize; use Web::Scraper; use XML::LibXML::Simple; #use Path::Class; use Encode; use utf8; binmode STDOUT, ":utf8"; my $uri = shift || die; print STDERR "get $uri ... \n"; my $info = scraper{ process '…

こういうことをしていいのか分からないのだけど・・・

イメージ的には、rlibの下に適当な.pmファイルをおいておけば、それぞれの.pm内部に書かれた正規表現にマッチしているモジュールを使うような。例えばanimate.tvとlantis-netで別々のクローラーを使いたいけど、メインのスクリプトをいじらずモジュールをフ…