Amazonの商品ページから市川市図書館へリレー検索するGreaseMonkeyスクリプトを書いてみた
最近ちょっと値の張る書籍を続けて買う必要に迫られました。
こんな時図書館に蔵書があるかどうか簡単に調べられたら良いなあと思ったんですが、そういえば以前におとなの図書館活用術【Amazon編】 - ITmedia エンタープライズという記事があったのを思い出したので、早速試しにスクリプトを書いてみました。
と言ってもただ単に更新:Amazonの検索結果から品川区・東京都区内・千葉市図書館の蔵書を調べる!: おとうさんのつれづれLifehack(ライフハック)で公開されているスクリプトをhttps://addons.mozilla.org/ja/firefox/addon/3829を使って眺めた結果でさらっと書き換えただけですw
5分ででっちあげたので、ソースコードが美しくないのはご勘弁を。
使い方は、↓のソースコードを適当なテキストエディタにコピー&ペーストしてファイル名を"ichikawa_city_lib.user.js"とでもして保存した後(拡張子は必ず"user.js"にする事)、Firefoxにドラッグ&ドロップすればオッケーです。
当然の事ながら、事前にGreaseMonkeyのインストールを行っておいてくださいね。
// ==UserScript== // @name Amazon Ichikawa City Lib linky // @namespace // @description Lookup from Amazon book listings. // @include http://*.amazon.* // ==/UserScript== libsearch(); function libsearch() { // mainmatch = window._content.location.href.match(/\/(\d{9}[\d|X])\//); var href = document.location.href; var index_1 = href.indexOf('product'); var index_2 = href.indexOf('dp'); var asin = ""; if (index_1 > 0) { var asin = href.substring(index_1 + 8,index_1 + 18); } else if (index_2 > 0) { var asin = href.substring(index_2 + 3,index_2 + 13); } if (asin.match(/(\d{9}[\d|X])/)){ var header = document.evaluate("//div[@id='priceBlock']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; if (header) { var spl_link = document.createElement('a'); spl_link.setAttribute('href', 'https://opac.city.ichikawa.chiba.jp/cgi-bin/Sopcsken.sh?p_mode=1&g_mode=0&ryno=&c_key=&c_date=&list_cnt=&mad_list_cnt=&brws=ncdet&ktyp9=shk%7Catk%7Cspk%7Ckek&itfg9=c&ser_type=0&stkb=&sgid=spno&srsl4=4&srsl5=5&srkb=2%7C5%7C2%7C5%7C2%7C5%7C2%7C5%7C2%7C5%7C&srsl1=1&srsl2=2&srsl3=3&ktyp0=shk%7Cser&key0=&itfg0=c&ron0=a&ktyp1=atk&key1=&itfg1=c&ron1=a&ktyp2=spk&key2=&itfg2=c&ron2=a&ktyp3=kek&key3=&itfg3=c&ron3=a&ktyp4=kjk&key4=&itfg4=c&tgid=tyo%3A010A&tkey=' + asin + '&kkey=&skey=&srkbs=0%7C8%7C9&srkbs=1&srkbs=3&srkbs=4&srkbs=6&lckns=01&lckns=02&lckns=03&lckns=04&lckns=05&lckns=06&lckns=07'); spl_link.setAttribute('title', 'To Ichikawa Library'); spl_link.innerHTML = '</br><span style=\"font-size:90%; background-color:#ffffcc;\">» 市川市図書館</span>'; header.parentNode.insertBefore(spl_link, header.nextSibling); } } }
自分で言うのも何ですが、結構便利ですねwやみつきになりそうです。
関連記事