イチゾーのブログ

PythonでAmazon Product Advertising APIを呼び出してKindle Unlimitedの情報を取得する

スポンサードリンク

英語多読用の本をレベル別に取得する(完成版)」で、
英語多読用の本のISBNリストを取得しました。

今度はこれを使用して、Amazon Product Advertising APIを呼び出してKindle Unlimitedの情報を取得するということをやります。

目的:英語多読をKindle Unlimitedでやりたい

英語力を伸ばしたいということで、英語多読をやってみたいのですが、
多読用の本を買っていては高くついてしまうというネックがあります。

英語多読研究会さんのHPに、難易度別の類型読書語数の目安が掲載されています。

それによると、各レベルごとの累計語数は以下のようになっています。

これを達成するためには、各レベルで以下の冊数が必要になります。

Level0では、3万語の読書語数が推奨されていますが、
これを満たすためには大体30冊読まなければいけないという計算になります。

Level9では、読書語数は18万語となっていますが、
読むべき冊数は1冊です。

これは、難易度があがると1冊あたりの語数が増えるため、
読む必要がある冊数は減ってくるということですね。

英語多読を始めたばかりの難易度の低い頃に読むのが
語数が少なく読みやすい本(児童向けだったりします)になりますので、
必然的に読むべき冊数が増えてしまいます。

1冊あたり500円とか600円とかなので、決して高いわけではありませんが、
Level0で30冊、Level1で30冊、Level2で50冊・・・
となると、一人で揃えるには予算的に非常に厳しいものがあります。

そこで、読み放題のKindle Unlimitedを英語多読に使えないかと考えた訳です。

英語多読研究会さんでは、多読用の洋書のリストを難易度別に公開されていますので、
ここで公開されている本のリストから、Kindle Unlimitedに登録されているものを探し出すということをやってみます。

多読用の本のリスト取得は前回までに行っていますので、
今回は取得したリストを元にAmazon Product Advertising APIを呼び出して本の情報を取得するということをやってみます。

ソースコード

bottlenoseを使ってAmazon Product Advertising APIを呼び出しています。

この使い方は以前の記事を参考にしてください。

今回やっていることは、ISBNのリストファイルを開き1行ずつAmazon Product Advertising APIで
Kindle Unlimitedの情報を取得するということです。

ループの頻度ですが、Amazon Product Advertising APIには
頻繁にアクセスするとエラーを返す仕様がある(1秒間に1回以内に抑える)ので
sleepを5秒入れています。

これで実行していたのですが、
「接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。」
というエラーが返ってきて中断しましたので、sleep 10秒で再トライしてみます。

英語多読で使えるKindle Unlimitedの本のリストはまとめて公開したいと思います。

スポンサードリンク