宮城県版なんとかリリースできたかも
宮城県内図書館検索へ飛ぶ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を検索したい図書館のパラメータにあわせて修整する
パラメータ | 図書館名 | パラメータ | 図書館名 | |
---|---|---|---|---|
宮城県図書館 | 利府町図書館 | |||
加美町図書館 | 亘理町立図書館 | |||
美里町小牛田図書館 | 白石市図書館 | |||
石巻市図書館 | 角田市図書館 | |||
東松島市図書館 | 蔵王町立図書館 | |||
仙台市図書館 | ||||
塩竃市民図書館 | ||||
多賀城市立図書館 | ||||
名取市図書館 | ||||
岩沼市図書館 |
何処で手間取った?
最初、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だとプロトコルを別に記述するので必要ないのね