Amazon APIを使う (2)

ほとんどできた。
今回のポイントは

  • 検索キーワードを日本語でも入力できるようにするためのURLエンコード⇒urllib.quote(str(入力文字列))で解決。
  • オブジェクトをそのまま外部ファイルの保存するためにシリアライズ化⇒pickle.dumpする。
  • XMLファイルのパース


図1:起動画面
Amazon Access Key IDはぼかしてある。自分個人で使う場合にはAccess Keyをいちいち入力する必要はないが、他の人が使う場合には各人のAccess Keyを使うことになるので入力欄を作った。基本画面は「本の検索」と「現在のリスト」がある。タブで切り替えることができる。

図2:キーワードをJavaScriptとしてやってみる。
10冊のタイトルが表示されるが、検索で引っかかる本当の冊数はもっと多い。得られるXMLが1ページ目だけなのでこうなる。2ページ目以降の本の情報はとりあえずいらない。

図3:検索結果のリストからある本を選択状態にして、「詳細を見る」ボタンを押すとAmazonのページをブラウザが開いてくれる。「この本を記録する」ボタンを押すと「現在のリスト」画面上での本のリストにその本が加えられる。

図4:タブで「現在のリスト」画面へ移動した。
三冊リストに加えてみた。書名と日付が記録される。

図5:リストの中の本を選択状態にしてから、「読了済み」ボタンを押すと、リストに右に「済」と表示される。「リストから削除」ボタンでリストから削除できる。「詳細を見る」ボタンでAmazonのページをブラウザが開いてくれる。この画面のテーブルの内容は外部ファイルに保存されるのでアプリケーションを終了して再起動しても情報は保持されている。
”読了済み”という言葉は少し違和感があるな。日本語的に正しいのかな?