出版社検索API
APIを作成したので公開します。
目的
こちらのサイトは、日本でのISBNの総本山であり、登録業者について最も信頼できる(はずの)情報源ですが、いかんせん、得られるデータがプログラム的に扱い易いとは言えません。
ですので、このCGIにアクセスしてデータをXMLの形式にして返すAPIを作成しました。
使い方
上記URLに対し、最低限、二つのパラメータを指定します。
- method
- publisher_code, isbn10, isbn13, jan, eanのいずれかを指定します。
- code
- methodで指定した形式の数値を指定します。
※出版社名検索などには対応しておりません。手元にある本のISBNコードを読んで、その出版社の詳しい情報を知るような用途を想定しています。
- mode
- cache, auto, forceのいずれかを指定します。指定しなかった場合はautoが選択されます。
レスポンスを早くするために、一度取得したデータはキャッシュに蓄えるようにしています。
- cacheを指定すると、このキャッシュのみを調べ、なかった場合はエラーを返します。
- forceを指定すると、常に最新の情報を調べ、キャッシュを更新します。(時間と負荷がかかります)
- autoを指定すると、キャッシュを調べてキャッシュがあればキャッシュを返し、なければforceに移行します。
返ってくるデータについて
成功例)※人間に読みやすいようにタブを挿入しています。実際にはタグ間のスペースはありません。
http://roboko.s212.xrea.com/publisher.cgi?method=publisher_code&code=00
<?xml version="1.0"?> <responce> <request> <method>publisher_code</method> <code>00</code> <mode>auto</mode> <date>2007-07-03 19:12:13</date> </request> <publisher> <base_data> <publisher_codes> <publisher_code>00</publisher_code> </publisher_codes> <name>(株)岩波書店</name> <name_pronounce>イワナミシヨテン</name_pronounce> <place>101-8002 東京都千代田区 一ツ橋2−5−5</place> <tel_number>03-5210-4000</tel_number> <url>http://www.iwanami.co.jp</url> <stop_entry></stop_entry> <renewal_entry>2006/08/31</renewal_entry> <sellway>取次経由書店販売</sellway> <comment_a>*販売情報(読者向)FAX注文可049-287-5742</comment_a> <comment_b></comment_b> </base_data> <for_trader> <trade_code>0365</trade_code> <seller_name></seller_name> <tel_order>可</tel_order> <tel_number>049-287-5741</tel_number> <fax_order>可</fax_order> <fax_number>049-287-5742</fax_number> <site_order>不可</site_order> </for_trader> <for_customer> <tel_order>可</tel_order> <tel_number>049-287-5721</tel_number> <site_order>可</site_order> </for_customer> </publisher> <last_update>2007-07-03 19:12:13.61014</last_update> <original_data><![CDATA[http://www.isbn-center.jp/cgi-bin/isbndb/isbn.cgi?sub=search&isbn=00]]></original_data> </responce>
失敗例)
<?xml version="1.0"?> <responce> <request> <method></method> <code></code> <mode>auto</mode> <date>2007-07-03 19:25:26</date> </request> <error>正しいメソッドが指定されていません。(publisher_code, isbn10, isbn13, jan, eanのいずれか)</error> </responce>
2007-10-03 追記
うっかり削除してしまっていたのを修復しました。