こんにちは、今回は前回の続きとして、私が作ったWebアプリケーションの簡単な解説を続けようと思います。
前回からの続きになるので、まだ見ていない方は下のリンクから見てみてください!↓↓
前回までは、GooglebooksAPIについて初学者ながら解説を行いました今回はAPIを使う上で必然的に出てしまうエラーに対処する方法について考えてみたいと思います。
まず、今回作りたいプログラムのおさらいをしたいと思います。
前回は、GoogleBooksAPIの使い方について扱いました。今回は、APIを経由して検索をかけた際に、エラーが出てしまうときがあるのでそれの対処について扱いたいと思います。
考えられるエラー
検索をかけた時、GoogleBooksにない書籍を検索をかけた場合、KeyErrorと出てきます。これをそのままにしておくのは利用者の立場からすると、使いにくいと思われます。
それに対処するために、try~exceptを使いたいと思います。(Python公式の解説はこちら)
この関数はわかりやすくすると、「エラーが起きた時にする動作を決める」ことができます。
使い方は、「tryの中に、errorが起きなかった時の動作」「exceptの中に、errorが起きた時の動作」を書くだけです。難しい定義も必要ないので、簡単に実装することができます。
for i in range(0,1) :
url = 'https://www.googleapis.com/books/v1/volumes?q='+tool+want #GooglBooksAPI
response = requests.get(url).json() #情報の取得,json変換
totalitems = response['totalItems'] #件数1
try :
items_list = response['items'] #items リストデータ
items = items_list[i] #items
info = items['volumeInfo']
print(response)
title = info['title']
pagelink = info['canonicalVolumeLink']
description = info['description']
print('紹介文が見当たりません')
print('タイトル:', title)
print('URL',pagelink)
print('~~~~~~~~~~紹介文~~~~~~~~~~~~~')
print(description)
print('')
print('')
pic=info['imageLinks']['thumbnail']
print(pic)
except KeyError:
print('検索結果がみつかりませんでした')
print('もう一度試してください')
sys.exit()
pass
こんな感じで、検索結果が見つからない場合には「KryError」が出た場合の動作を決めることができました。
これでほとんどの難しい箇所が終わったと思います。
では次のWebアプリケーション③に続きます
ありがとうございました。