品川区立図書館調査

品川区立図書館の所蔵状態チェック。あとでまとめるので結果は特に編集してない。

#!/usr/bin/perl
use strict;
use warnings;
use utf8;

use YAML qw(Dump);
use Encode qw(decode);
use Web::Scraper;
use LWP::UserAgent;
use HTTP::Response::Encoding;

my $ua = LWP::UserAgent->new(keep_alive => 1);
my $resp = $ua->get('http://lib.city.shinagawa.tokyo.jp/cgi-bin/Swwwsmin.sh?0');
my $ret = scraper {
  process '//form', action => '@action';
}->scrape($resp->content);

$resp = $ua->post(
  'http://lib.city.shinagawa.tokyo.jp' . $ret->{action},
  content => 'lcbs=or&ron0=m&ron1=m&ron2=m&ron3=m&srsl0=1&srsl1=1&tgid=010A&tkey=4103534036');
$ret = scraper {
  process '//a[pre]', href => '@href';
  process '//a[pre]/pre', umu => sub {
    $_->as_text =~ /\[(○|×|★)\]\s+$/;
    $1;
  };
}->scrape(decode($resp->encoding, $resp->content));

binmode STDOUT, ':encoding(sjis)';
print Dump($ret);
$ ./shinagawa.pl
---
href: /cgi-bin/Swwwsvis.sh?0+5986+1+1+0+331906+0+1
umu: ○
$

EUC、ISBN10ハイフン有り無し可、ISBN13不可、○(利用可)、×(貸出中など)、★(雑誌)、リクエスト2回、GET不可。