ISBNから書籍のタイトルを取得する
書籍のISBNコードからタイトルを取得したい。
一冊だけならWeb検索で済む話だが、冊数が多くなると大変である。
今回は楽天ブックス書籍検索APIを使った、簡単な検索プログラムを書いた。
import json, sys, time import requests base_url = "https://app.rakuten.co.jp/services/api/BooksBook/Search/20170404?applicationId=[アプリID]&isbn={}" isbn_list = list(map(int,sys.stdin.readlines())) result = {} for isbn in isbn_list: req = requests.get(base_url.format(isbn)) d = json.loads(req.text) if d["Items"]: result[isbn] = d["Items"][0]["Item"]["title"] else: result[isbn] = "Not Found" time.sleep(1) for k, v in result.items(): print(k, "->", v)
該当する書籍があればそのタイトルを、なければ"Not Found"を返す。
試しに夏目漱石『吾輩は猫である』(新潮文庫)を検索してみる。
9784101010014 -> 吾輩は猫である改版
上手くいった。なかなか便利。
著者や出版社の情報も同様に取得でき、その逆も可能。
入力のISBNコードは10桁、13桁どちらでも大丈夫らしい。