楽天市場の商品レビュー取得について問い合わせた内容と解答

楽天市場の商品レビュー取得について問い合わせた内容と解答

楽天市場の商品レビュー取得について問合わせた内容と解答

楽天商品レビューの取得、簡単に考えていたのですが手こずってます。
その流れの中で最善策を探そうと楽天市場へ問い合わせを掛けました。

【質問事項】

  1. 商品レビューを取得するAPIはありますか?
  2. レビューをスクレイピングで取得する事は楽天市場の規約上問題ありますか?
  3. 商品レビューを社内DBに蓄積するための良い方法があれば教えてください。

【回答内容】

  1. RMS WEB SERVICEのAPIについては、「商品レビューを取得するAPI」に該当する機能はございません。
  2. スクレイピングによる情報取得は、弊社では推奨しておりません。動作保証もできかねます点ご留意ください。
  3. RMSにログイン頂くとレビューをCSVで保存する事が出来ますのでご活用ください。

RMSログイン後の処理。2重認証を乗り越えないといけないので自動化には厳しいものがあります。

ただ、スクレイピングは推奨しないけど禁止事項ではないとの回答は前向きな内容でした。
と言う事で、レビュー取得はスクレイピング前提で進めたいと思います。

商品レビューのURL構成

以前の記事で書いた通り商品レビューのURLはこんな形になっています。

https://review.rakuten.co.jp/item/1/{店舗コード}_{楽天が管理する商品ID(例:10034468)}/

問題は【楽天が管理する商品ID】をどうやって取得するか。
このIDは店舗商品ページ内でも複数回登場しています。

と言う事で、システムで出品URLを作成してスクレイピングを試みました。
結果….取れない…。「アクセス集中により~~~」というページが出力され商品ページが出てきません。
ヘッドレスブラウザではなくPCのchromeさんからアクセスすると問題なく表示されます。

どうやら商品ページからJSで呼び出している納期や税込み価格のスクリプトが関係している様子。
だから取得できる時もあるけど、プログラムとしては動作安定しないのでNGです。

楽天が管理する商品IDを取得できる場所を探す

「何かのAPIに値として付いてきていないか」と思い調べましたがありませんでした。

う~ん。

色々と調べた結果、何とか取得できる場所を見つけて構築!

レビュー系ページだと「アクセス集中により~~」ページは出ない

前述の通り、商品ページ内で動くJSが問題のようなので小細工の無いレビューページではアクセス集中メッセージ出てこなくていい感じ。

Goutteを使えばこれで商品レビューを取り出せます。

まとめ

レビュー取得の自動化、何とか目途が立ちました。
何よりもスクレイピングは禁止事項ではないという体裁を頂いたのが一番の収穫でした。

ただ、課題も1点。

スクレイピングの場合「倉庫入れ」や「在庫ゼロ」の【楽天が管理する商品ID】の取得はやはり難しい。
その為、商品検索APIで取得したレビューの総数を取得するには至りませんでした。
まぁそれでも再出品すれば溜まってるレビューは取得できるし、用途は『賑わい演出』なのでまぁいいか。