こんにちは、今回は授業で作ったWebアプリケーションの紹介・解説を行いたいと思います。
言語:python3.8.8
やりたいこと:GoogleBooksAPIを活用して、検索ツールの作成
ほしい検索結果:本の題名・本の著者・発売日・ページ数・紹介文・購入まで飛ぶことができるURL・検索結果の本の画像
GoogleBooksAPIについて
このAPIをつかうことで、GoogleBooksに検索を行い、レスポンスとして、リスト形式のレスポンスが返答される。もともとはJavaScriptで使われるAPIであるためpythonで使うときにはひと工夫が必要となる。
url = 'https://www.googleapis.com/books/v1/volumes?q='+tool+want #GooglBooksAP
response = requests.get(url).json() #情報の取得,json変換
この2行でGoogleBooksにアクセスして、解答を得ることができます。そして、responseにリストとして、入っています。jsonというのは、GoogleBooksAPI自体がJavaScriptで使用することを前提に作られているので、それをpythonで使えるようにするためにjson変換を行い使えるようにしています。
toolの中には代表的なものですが、以下のような検索方法があります
intittle | タイトル |
inauthor | 著者 |
isbn | ISBN(10桁または13桁両方とも可能) |
記入なし | フリーワードで調べることが可能 |
ほかにもありますが、このくらいが代表的であると思います。wantの中身は検索したい方法に基づいたキーワードを入力すると検索できます。responseで返ってくるリストはとても複雑そうに見えますが、簡単にすると「リスト・辞書」の連続になります。
私はプログラミング初学者であり、まだまだ未熟ものですが、コードを書いてみたので、参考になるかわかりませんが、もしよかったら参考にしてください。
url = 'https://www.googleapis.com/books/v1/volumes?q='+str(tool)+str(want) #GooglBooksAPI
response = requests.get(url).json() #情報の取得,json変換
totalitems = response['totalItems'] #件数1
print('検索結果は',str(totalitems),'件です')
for i in range(0,5) :
items_list = response['items'] #items リストデータ
items = items_list[i] #items
info = items['volumeInfo']
title = info['title']
pagelink = info['canonicalVolumeLink']
description = info['description']
pagecount=info['pageCount']
authors=info['authors'][0]
publishdate=info['publishedDate']
pic=info['imageLinks']['thumbnail']
詳しいことは、Googleから公式に詳細が記載されているので、下のリンクからご覧ください。
https://developers.google.com/books/docs/v1/using
次回に続きます。