あひるの小屋

日記のようなもの

2023年3月9日

楽天API

楽天の自店舗の商品で、どの商品にどれだけレビューがついているのかを調べたい。
楽天商品検索APIを使い、ショップコードとレビューありフラグで絞り込んで、ゴニョゴニョしてCSVファイルに出力する。っていうのがやりたいこと。

とりあえず組んで実行してみたんだけど、なんか結果がおかしい。
重複した商品がいくつも入ってて、それを排除するとcountで出力される総数よりかなり少なくなってしまう。
しかも重複する商品は実行するたびに違ってたりして、重複排除後の件数も毎回違っちゃうんだ。
最初は私のコードが悪いんだと思ってちまちま追っかけながら探ってたんだけど、楽天商品検索APIが返す生データそのものがそうなってるってことに気づいた。
それじゃあどうすることもできないでないの…(><)

pageCountの分だけpage指定で回してるんだけど、ページ内では重複は起こらず複数ページにまたがると重複が発生するっぽい。
えぇ~こういうもんなの?仕様なの?受け入れなさいって感じ?
でもそれじゃ正しくすべての商品情報を取得することができないでないの。…納得いかない。

なんか解決策はないもんかと探ってみたっけ、sortで-updateTimestampを指定すれば重複は起きないという情報を見つけた。これどんぴしゃっぽい!
レビュー件数の多い順に取得したかったからsortで-reviewCount指定してたんだよね。
それを-updateTimestampに変えてみたっけ…重複しなくなった!データ数もちゃんとcountと同じ!

sortパラメーターの問題っていうのはちょっとどうなのよって感じだけど、とにかく解決。
えらく時間くっちゃったよぉーでもこれでやっと先に進めるよぉー

名前は入力必須です。

メールアドレスは任意です。ページ上には表示されません。

削除キーは入力必須です。コメントを削除する際に必要となります。8~16桁の半角英数字で入力してください。

タイトルは任意です。省略した場合は「無題」と表示されます。

コメントは入力必須です。HTMLタグは有効にならずそのまま表示されます。

悪質、不適切なコメントは、管理人の判断で予告なしに削除する場合があります。ご了承ください。

コメントはありません