多分yuisekiのブクマから辿りついたんだと思うけど、hetapiさんのISBNを検出するグリモンを知った。
いろんなサイトから ISBN を抽出するグリモンのテスト - へたっぴ日記
なんか面白そうなのとXPathを書ける所かな、と思って米欄のotsuneさんの
ISBNがあるWebページの一覧を書いておくと「空欄を埋めないと気持ち悪いマニア」が手を出す可能性 link
に乗っかって、ブコメで空欄埋めたいとか叫んでたら編集されてたので試してみた。
んだけど。。。
まずテストグリモンをインストール出来る所が無かったので、自分でファイルを作って読み込む。
(いぬビームの人の そのへんにぺろっと貼ってあるgreasemonkeyスクリプトにインストールボタンを付けるgreasemonkeyスクリプト使おうにも途中で切れてるし。
普通にコピペコピペで導入するも動かない。
FireFox3系入れてるわけでもないし、グリモンAdd-onも最新の状態っぽい。
むしろ3系でしか動かないのかな?
と思いながらソース追ってみたら動かなかった原因はGMUtil::parseXmlHttpResponse()内のContent-Typeの分岐の所みたいだった。
実際に投げられているheaderを見たら
application/json; charset=utf-8
と入ってるんだけど、実装では「text/javascript」が来る前提になってる。
ので
} else if (contentType[0].indexOf("application/json") != -1){
obj.response.body.javascript = eval(resp.responseText);
obj.response.body.type = 'json';
}
って処理を追加して、ISBNScraper::_getSiteInfo()の内の'javascript'を'json'に変更したら動いた。
のでISBNが含まれるページ一覧のXPath調べて登録しようと思ったんだけど、crossbooksearch.user.jsのページ見たら、既にXPathは書かれていて、必要なのはただwedataに写していくだけの簡単なお仕事だったようなので結局何もしてない。
自分でXPath書けるならともかく、写すだけの気力は無いので、別のマニアに譲ります>、<
コメントする