PythonでopenBD APIを使う

PythonでopenBDからデータを取得する方法のメモ。

import requests
import json
import datetime

endpoint = 'https://api.openbd.jp/v1/get'

params = {
 'isbn': 'xxx'
}

api_url = requests.get(endpoint, params=params)
res = api_url.json()
#print(res)

onixから取得

print(res[0]['onix']['RecordReference'])
print(res[0]['onix']['DescriptiveDetail']['TitleDetail']['TitleElement']['TitleText']['content'])
# 著者
for author in res[0]['onix']['DescriptiveDetail']['Contributor']:
    print(author['PersonName']['content'])

summaryから取得

api = res[0]['summary']
pubdate = datetime.datetime.strptime(api['pubdate'], '%Y%m%d')
pubdate_str = pubdate.strftime('%Y/%m/%d')

print('isbn: ' + api['isbn'])
print('title: ' + api['title'])
print('date: ' + pubdate_str)
print('cover: ' + api['cover'])
print('author: ' + api['author'])

ISBNコード「9784049140699」をsummaryで取得した結果

isbn: 9784049140699
title: 藍渓鎮 羅小黒戦記外伝 (2)
pubDate: 2022/02/26
cover: https://cover.openbd.jp/9784049140699.jpg
author: 木頭/原著 孫呱/著