Hatena::ブログ(Diary)

natu_nの日記 このページをアンテナに追加 RSSフィード

2006-09-04 疲れた

[][][][][]スクリプトの修整と調査

Greasemonkey、Seahorseスクリプトの修整(URL変更のため)
あわせて、書名でしか検索できない3館の対応を行った

 SH(1.3)GM(1.3)*1GM(1.7)*2
県立
新地町
相馬市
南相馬市 
大熊町
富岡
広野町
いわき市
国見
福島市
白沢村
三春
郡山市
須賀川市
喜多方市
西会津中学
会津若松市
    • 県立図書館、相馬市立図書館、国見町立図書館については検索結果を返す仕組みはありえないのでVer.1.5系はなし

Bookmarkletの修整

ハイフンを含むコードの場合の修整(文字数に誤りがありました)
また、正しく機能することによりAmazon専用ではなく汎用的に使用できるためBK1版、7&Y版を廃止し、県内蔵書検索として1本の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/menu.htm?ISBN1='+is);}})();
  • 使用できるサイトのサンプル
サイト表示しているコードの書式Bookmarklet
の利用
備考
AmazonASIN: 123456789X
 
オンライン書店 bk1ISBN : 1-23-456789-X
 
7&YISBN:1-23-456789-X
 
楽天ブックスISBN:123456789X
 
オンライン書店 boople.comISBN:123456789X
 
TSUTAYA onlineなし
×
 
クロネコヤマトのブックサービスISBNコード : 123456789X
 
全国書店ネットワーク e-honISBNコード 1-23-456789-X
 
JUNKUDO BOOK WEBISBN 1-23-456789-X
 
紀伊國屋書店ISBN:123456789X
 
JBOOKISBN:123456789X
 
本やタウン123456789X
×
テーブルでISBNとコードが分かれている
ネットダイレクト 旭屋書店ISBN: 123456789X
 
Mana HouseISBN : 1-23-456789-X
 
famima.com:ブック123456789X
×
テーブルでISBNとコードが分かれている
GAZOO BOOK MALLISBN:123456789X
×
ソースを見る限り動作しそうなのだが?引き続き調査
三省堂書店ISBN : 1-23-456789-X
本を買うのページのみ可店舗ブログは不可、ベストセラーはbk1のサイトを表示
丸善インターネットショッピングなし
×
Flashで作成されたページのため、見えているが不可
本屋さんISBNコード 1-23-456789-X
 
喜久屋書店ISBN 1-23-456789-X
 
八重洲ブックセンター商品コード 1-23-456789-X
×
ブックフェアのページにはISBNコードが記載されてはいるが、
一覧のため不可(先頭の本のISBNコードで開く)
本屋でござ〜る1-23-456789-X
×
一覧のみ
ibs-kikuya.comなし
×
本やタウンへのリンクがあるのみ
本の問屋さん1-23-456789-X
×
テーブルでISBNとコードが分かれている

問題点

  • GreasemonkeyとSeahorseでマルチバイト文字の解釈?が異なる
    • Seahorseは'〈'が正しく判断できる

f:id:natu_n:20060904205537j:image:w200もよいしf:id:natu_n:20060904205536j:image:w200も大丈夫

    • Greasemonkeyは'〈'が正しく判断できない

f:id:natu_n:20060904205535j:image:w200はよいがf:id:natu_n:20060904205534j:image:w200がだめ

    • とりあえずテキストボックスを表示しているため、必要に応じて加工して検索して下さい。

雑感

  • 参考元の書名検索のGreasemonkeyスクリプトがsubstringの文字位置が誤っていたため*3、検索文字列の先頭にスペース(電文中は+)が入り、検索でヒットしなかった。
  • 蔵書はありませんだけで、どういう検索条件でヒットしなかったかを表示しない図書館が多くパラメータの間違いに気づきにくい
    GETなら飛んだ先のURLで判断できるが、POSTだと電文を見なければならないので面倒(いちいちFirefoxに切り替えなくてはならない)
  • 県内蔵書検索サイトでの書名検索に関して、仕組みを考えるとかなり面倒になりそうだ
    ページのコードはUTF-8にしたい、AmazonからはUTF-8、bk1からはSHIFT-JIS、画面で編集できなければならず、各図書館へはSHIFT-JISをURLエンコードしなければならない
    しばらくかかりそうです。


明日返さなければならない本が後2冊あるので今日はこの辺で(cssも直したいけど)

*1:検索のLinkのみ

*2:蔵書の有無表示

*3:たぶんsubstrと勘違い