ywagashiのブログ

徒然なるままに

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桁どちらでも大丈夫らしい。