Amazon APIで取得した本情報の著者の扱いが難しい

| コメント(0) | トラックバック(1)

今読ミで著者の表示がおかしい事があるという件ですが、現象は分かりました。

今読ミでAmazonを検索する箇所は2カ所存在します。

  • 「本を登録」ページで検索
  • 自分の「ホーム」ページでISBNを入力

この二つはISBNを入力する場合、同じ動きをし、内部的にAmazon APIのItemLookupというリクエストを送ります。 対して前者でISBN以外を指定した場合はItemSearchというリクエストを送ります。

問題の「アンナ・カレーニナ (上巻)(ISBN 9784102060018)」をそれぞれ二つの方法で検索するプログラムを書いて、著者に関する情報がどういう風に返ってくるのか確かめてみます。
※コードは分かり易さ優先で愚直に書いてます

まずはISBN指定のItemLookupResponseの場合。

[アンナ・カレーニナ (上巻) (新潮文庫)]
  ---Author
  <Author>トルストイ</Author>
  <Author>木村 浩</Author>
  ---Creator

著者と翻訳者が、この順番で返って来ます。今読ミは最初に返って来たAuthorタグを著者として(実は勝手に解釈して)扱うので、正しく表示されます。また、Creatorタグの情報は送られて来ません。

ところが書名を入力してItemSearchを実行してみると…
※前述プログラムの13〜15行目、28行目をコメントアウト、17〜18行目、29行目のコメントアウトを外します。

[アンナ・カレーニナ (上巻) (新潮文庫)]
  ---Author
  <Author>木村 浩</Author>
  <Author>トルストイ</Author>
  ---Creator
  <Creator Role='著'>トルストイ</Creator>
[アンナ・カレーニナ〈上巻〉 (1968年) (角川文庫)]
  ---Author
  <Author>トルストイ</Author>
  ---Creator
  <Creator Role='著'>トルストイ</Creator>
[アンナ・カレーニナ 上巻 縮約版 (1) (新潮カセットブック T- 5-1)]
  ---Author
  <Author>トルストイ</Author>
  ---Creator
  <Creator Role='著'>トルストイ</Creator>
  <Creator Role='翻訳'>木村 浩</Creator>
[アンナ・カレーニナ〈上巻〉 (1948年)]
  ---Author
  <Author>レフ・トルストイ</Author>
  ---Creator
  <Creator Role='著'>レフ・トルストイ</Creator>
  <Creator Role='翻訳'>中村 白葉</Creator>

今度は検索なので複数データが送られて来ます。対象のデータは最初の [アンナ・カレーニナ (上巻) (新潮文庫)] のブロックですが、なぜか翻訳者が先に来ています。なので今読ミは最初のAuthorである「木村 浩」を著者として採用していたのでした。

今読ミで本を登録する場合、自分もですが、最も良く使うのは「本を登録」ページから書名の一部や著者名での検索結果から選択でしょうから、これは問題がありますね。

検索の場合、Creatorタグの情報も送られて来ていて、この例だけですと著者が先に来るので使えそうな雰囲気ですが、たまたまかも知れません。Amazonのページでは、CreatorをRole情報付きで全て表示しているように見えるので、順番に依存せず使うのが正しいのだと思います。

しかし今読ミは今のところ本1冊につき著者1名しか登録できない内部構造になっていて、誰か一人を選ばないといけない。

実験結果からすると当面の暫定対策としては、

  • ItemLookupではCreatorが送られてこないがAuthorの順序が正しそうなのでそのまま
  • ItemSearchの場合はCreatorの最初(本当はRole=’著’なんだろうが属性値がイマイチ信用できないので)のデータ を採用

するように変更しようと思います。

ItemLookupでCreator情報がなぜ取れないのだろう?これが取れれば、共著の本など一人に決められない事もあるので、複数の著者や翻訳者などを扱える様にし易いのだけど。もう一度APIリファレンスを読んでみる必要があるかも。




カラーミーショップ】なら、出店料無料のショッピングモール【カラメル】に出店できる!



トラックバック(1)

トラックバックURL: http://www.iwazer.com/mt/mt-tb.cgi/221

まねきねこプロジェクト|開発ブログ - Amazon APIのサンプル〜『マニアンミュージック』 (2008年7月17日 22:44)

Amazon APIの利用 メジャーじゃない曲を登録し紹介する、まねきねこプロジェクトのサービス『マニアンミュージック』に、AmazonのAPIとの... 続きを読む

コメントする

このブログ記事について

このページは、iwazerが2008年6月15日 00:47に書いたブログ記事です。

ひとつ前のブログ記事は「Post-itポップアップ ノート 卓上ディスペンサーが届いた」です。

次のブログ記事は「ブログパーツをリリースしました(今読ミ imayomi)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。