Amazonに古本価格を表示するGreasemonkyスクリプト

Amazonの書籍ページに古本価格を表示するFirefox系スクリプト。先人の力を借り作り上げています。
最近、通勤電車でのスマホいじりにも飽きてきたので、読書熱が再燃しております。5日間で1~3冊ペースで読んでいます。すると色んな本が欲しくなるのです。
以前にも同様のスクリプト公開の記事をエントリーしました→Amazonで古本価格を調べるGreasemonky 2012年の大晦日にこんなことやってたんだなぁシミジミ。あれから早1年が過ぎているんですねぇ。その間ももちろんAmazonにはアクセスし、そのたびに古本価格が表示されていたのですが、確かにここ最近は「在庫なし」で表示されることが多いなぁくらいには感じていました。が、まさか古本サイトがリニューアルし、スクリプトが対応できておらず、その結果としての「在庫なし」だったとはつゆ知らず。
のべ2日かかって改修しました。とくにBookOffOnlineには手こずりました。
// ==UserScript==
// @name Amazon Cross Book Mod
// @namespace http://alpha99.blog.fc2.com/
// @description online used book store lookup from Amazon.
// @include http://www.amazon.co.jp/*
// ==/UserScript==
var SITEINFO = [
{
label: 'BOOKOFF Online',
url: 'http://www.bookoffonline.co.jp/disp/CSfDispListPage_001.jsp?&st=u&q=',
regexp: /class=\"mainprice\">(.+)(税込)定価より/,
isbn13: true,
},
{
label: 'フルイチオンライン', //フルイチオンライン
url: 'http://www.furu1online.net/SearchItem?DISP_COUNT=20&PAGE_INDEX=1&PROP_ID_9200=2&FREE_WORD=',
regexp: /([\d,]+)<\/strong> /,
isbn13: true,
//disabled: true
},
{
label: 'NET OFF',
url: 'http://www.netoff.co.jp/cmdtyallsearch/hdnAllSearchFlg/1/Ctgry/*/LRack/*/SetFlg/0?SetFlg=&hdnContinueCmdtyList=&hdnContinueCode=&hdnPage=0&hdnFormId=cmdtyalllist&hdnStartIndex=0&hdnEndIndex=500&hdnNarrowCtgry=&hdnAllSearchFlg=&hdnNarrowFlg=&actionNameTxt=&subtotal=&word=',
//afterISBN: '&used=0&author=&genre=&size=&pricef=&pricet=&issuef=&issuet=&maker=&isbn=&sort=&desc=&used=0&pg=0&pagingData=&iStartPageNo=1&nowPageNo=1&hdnCmdtyCode0=0010046487',
regexp: /class=\"priceTrue\">[.\s\S]+li class=\"price mat5\">([\d,]+)/,
isbn13: true,
//disabled: true
},
]
//main
if (!document.body.parentNode.innerHTML.match(/ISBN\-13:<\/b>\s(\d{3})\-(\d{9}[\dX])<\/li>/))
return;
var isbn13 = RegExp.$1 + RegExp.$2;
//alert(isbn13);
var block = document.evaluate(
"//div[@id='priceBlock']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (!block)
return;
for(i = 0, len = SITEINFO.length; i < len; i++){
var siteinfo = SITEINFO[i];
getValue(isbn13, siteinfo);
}
/*
var siteinfo = SITEINFO[3];
getValue(isbn13, siteinfo);
*/
function getValue(isbn13, siteinfo){
GM_xmlhttpRequest({
method : 'GET',
url : siteinfo.url + isbn13, //'http://www.bookoffonline.co.jp/display/L001,st=u,q=' + isbn13,
//overrideMimeType: mimeType,
overrideMimeType:'text/plain; charset=shift-jis',
headers: {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:8.0.1) Gecko/20100101 Firefox/8.0.1", // If not specified, navigator.userAgent will be used.
},
onload : function(resp) {
//alert(resp.responseText)
var link = document.createElement('a');
link.setAttribute('target', '_blank');
link.setAttribute('href', siteinfo.url + isbn13); //'http://www.bookoffonline.co.jp/display/L001,st=u,q=' + isbn13);
link.setAttribute('title', siteinfo.label); //'To BOOKOFF Online');
link.innerHTML =
'
' +
'' +
'» [' +
(resp.responseText.match(siteinfo.regexp) //(/mainprice\">\uffe5([\d,]+)/)
? '\u2605\u5728\u5eab\u3042\u308a ' + RegExp.$1 + ' \u2605' : '\u5728\u5eab\u306a\u3057...') +
'] ' +
siteinfo.label + //'\u30d6\u30c3\u30af\u30aa\u30d5\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u4e2d\u53e4\u691c\u7d22' +
'';
block.parentNode.insertBefore(link, block.nextSibling);
}
});
}
!ご注意!
ご使用にあたって発生した障害は一切責任を負えません。
- 関連記事
-
-
便意きてる(古本探索グリモンスクリプト完成) 2015/10/10
-
Amazonに古本価格を表示するGreasemonkyスクリプト 2014/01/26
-
タイトルなし 2012/07/24
-
古本価格が分かればいいのでGreasemonkeyを頑張った 2014/10/05
-
コード読解進め方 2012/11/12
-
スポンサーサイト
コメント
このスクリプト便利ですよねー。
お役に立てたようで嬉しいです。
お役に立てたようで嬉しいです。
コメントの投稿
トラックバック
http://alpha99.blog.fc2.com/tb.php/642-c193c0ab
この記事にトラックバックする(FC2ブログユーザー)
最近ブックオフオンラインが表示されなくって困っていたところ
こちらのサイトにたどり着きました!
ありがたく使わせていただきます!本当にありがとうございます!