あまびき開発日誌 #21, #22
あまびき開発 21 日目と 22 日目。
21 日目
- ヘルプの作成(未完成)。
22 日目
Yahoo! ウェブ検索 API 使用時の不具合をいろいろと修正した。
ページめくりの不具合を修正
Yahoo! で検索したときに、最終ページになってもページめくりが解除されなかったのを修正。
totalResultsAvailable, firstResultPosition, totalResultsReturned を使って、現在のページ番号、総ページ数、次の返却結果の先頭位置(検索 API の start パラメータ)などを求めていたが、この計算式が間違っていたのが原因。
キーワードに inurl を追加指定
Yahoo! ウェブ検索 API を利用する場合は、キーワードに inurl を追加指定して ASIN を含む結果だけを取得するようにした。商品ページ以外の検索結果がひっかかるのをなるべく避けるための措置。
「キーワード+inurl:/dp/」という風にキーワードに追加する。: や / はエスケープする必要あり。あるキーワードで検索したところ、inurl なしで 46 件のヒットだったのが、inurl ありだと 20 件になった。
URL に「/dp/」、「/exec/obidos/ASIN/」または「/gp/product/」という文字列を含むかどうかで判断しているだけなので、逆に ASIN を含んでいるのに結果に含まれないものが出てくる可能性もある。
inurl というクエリ構文の使い方については、[を] Yahoo! APIでサイトに含まれるページ数を知るを参考にさせてもらった。
総ヒット数の表示
Yahoo! ウェブ検索 API で検索した際、返却結果の先頭位置(start)を変更すると総ヒット数(totalResultsAvailable)が異なることがある。そこで、総ヒット数を表示するときは「約~件」というように「約」を頭に付けることにした。
あとで確認したところ、Yahoo! で検索した場合の検索結果画面でも「約何件」となっていることに気づいた。
その他
- ひきつづき、ヘルプの作成(まだ完成していない)。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
スポンサード リンク
writeback message: Ready to post a comment.
- [Preview]ボタンをクリックすると、コメント内容をプレビューすることができます(JavaScript使用)。
- スパム対策としてリファラチェックを行っています。セキュリティソフトの設定でリファラを無効にしていると投稿できません。
- エントリの内容と無関係と思われるコメントやトラックバックは削除されます。
- 当ブログへの言及リンクがないトラックバックはブロックされます。



