4.3 KiB
4.3 KiB
title | author | date | wordtwit_post_info | categories | ||
---|---|---|---|---|---|---|
Web::Scraperの参考になるサイト | kazu634 | 2009-04-15 |
|
|
Web::Scraperを使うたびに検索するのが面倒くさいので、ここに役立つサイトを貼っておきます。
use Web::Scraper; – 今日のCPANモジュール
今日作成したスクリプト
「いい言葉ねっと By Shu」の今日のいい言葉を取得します。
# === Libraries === use strict; use warnings; # === Libraries === use URI; use Web::Scraper; use YAML; use Encode; use utf8; # === Main part === my $scraper = scraper { process '/html/body/div/div/div/div[4]/div/div[2]/div[2]/table/tr/td/div/strong', 'body' => 'TEXT'; }; my $result = $scraper->scrape( URI->new("http://www.e-kotoba.net/") ); print encode('utf8', $result->{body}); # Reference: # Below is the sample # (1) <div class="ekotoba">...</div>の部分をbodyに取得 # process 'div.ekotoba', 'body' => 'TEXT'; # (2) XPATHで指定 # Firebugsなどを用いる。
作成するときのテンプレート
# === Libraries === use URI; use Web::Scraper; use YAML; use Encode; use utf8; # === Main part === my $scraper = scraper { process 'XPath', # Reference: http://e8y.net/mag/013-web-scraper/ # Below is the sample # (1) <div class="ekotoba">...</div>の部分をbodyに取得 # process 'div.ekotoba', 'body' => 'TEXT'; # (2) XPATHで指定 # Firebugsなどを用いる。 }; my $result = $scraper->scrape( URI->new("http://google.com/" )); print encode('utf8', YAML::Dump($result)); # print encode('utf8', YAML::Dump($result->{body}));