宮城県版なんとかリリースできたかも

宮城県内図書館検索へ飛ぶBookmarklet(実際に使用する場合は途中の改行を削除してから)

javascript:(function(){
var is,a=document.body.innerHTML;
a.match(/ASIN.?(\d{9}[X\d])/i)|a.match(/ISBN.?(\d{9}[X\d])/i)|
a.match(/(\d\-[\-\d]{9}\-[X\d])/);is=RegExp.$1.replace(/-/g,'');
if(!is){alert('NO ISBN');
}else{window.open('http://natu.blue.coocan.jp/Miyagi_Search.htm?ISBN1='+is+'&NO=XX');}})();

&NO=XXのXXを検索したい図書館のパラメータにあわせて修整する

パラメータ 図書館名 パラメータ 図書館名
01
宮城県図書館
11
利府町図書館
02
加美町図書館
12
亘理町立図書館
03
美里町小牛田図書館
13
白石市図書館
04
石巻市図書館
14
角田市図書館
05
東松島市図書館
15
蔵王町立図書館
06
仙台市図書館    
07
塩竃市民図書館    
08
多賀城市立図書館    
09
名取市図書館    
10
岩沼市図書館    

何処で手間取った?

最初、Rubyでやってみようと色々調べてためしに以下のスクリプトを書いてみたが…

require 'net/http'
Net::HTTP.version_1_2
Net::HTTP.start('www.library.pref.miyagi.jp', 80) {|http|
  response = http.post('/Scripts/WebOpac.dll/Search',
                       'title=&ftitle=&auth=&pub=&bunrui=&kenmei= 略 パラメータが続く
}

サーバエラーになるが、エラーメッセージがまともに表示されないのでさっぱり?ライブラリもちゃんとあるようなのだが
仕方がないので、PEARモジュールを使ったPHPでのやり方を調べていたら、PerlでLWP::UserAgentを使ってやるやり方を発見し、
参考プログラムがそのまま動いたのでチャレンジしたが、プレーンテキストじゃ受け取れないよ的なメッセージが表示されてうまくいかない。
よくよく見たら、テストで使ったRubyスクリプトからURLをコピーして使ったので、http://が抜けていたという塩梅でした。
Net::HTTP.startだとプロトコルを別に記述するので必要ないのね