Google ブックの収録状態を調べる
使い捨て。ちょっと下調べに使っただけです。XPath とかいまいちです。
#!/usr/bin/perl use strict; use warnings; use utf8; use Web::Scraper; use URI; my $scraper = scraper { process '//font[@size="-1"]/span/span[@style]', status => sub { my $node = $_->find('font'); $node ? $node->{color} eq '#999999' ? $node->as_text =~ /プレビュー/ ? 'summary' : 'snippet' : 'all' : 'part'; }; result 'status'; }; foreach my $isbn (@ARGV) { my $result = $scraper->scrape(URI->new('http://books.google.co.jp/books?as_brr=0&q=isbn:' . $isbn)); print "$isbn : " . (ref $result eq 'HASH' ? 'none' : $result) . "\n"; }
hetappi@violet ~/work $ ./googlebookscheck.pl 8590379817 4873112036 4061848925 4840237743 8590379817 : all 4873112036 : part 4061848925 : snippet 4840237743 : none hetappi@violet ~/work