この記事は最新更新日から、4年以上経過しています。

前回の記事「楽天市場ジャンル情報をMySQLに保存」で楽天ジャンルを取得できたので、今回は楽天ランキングを取得する処理を作成してみました。

 

楽天総合ランキングを保存

楽天ランキングを取得するAPI詳細はこちらから確認できます。

楽天商品ランキングAPI

ランキングデータは、日付別(RankDate項目)で蓄積できるようにしました。

また取得したジャンルID(BaseGenreId項目)についても保持するようにしました。

 

その他ジャンルのランキング保存

一応作成はしたのですがジャンルIDが17,506種類あり、これらを全34ページ取得するとなると595,204ページ読み込みが必要になります。

また1ページあたり15商品が掲載されてますので、1日あたりに取得するレコード数が膨大になります(;^_^A

 

一応作成したソースが下記になります。

 

58行目で、「LIMIT 200」としています。

全てのジャンルIDに対して処理を行うと、多大な時間が掛かるため200件分のみ行うようにしました。

またすでにランキングを取得済のジャンルIDについては、除外するようにしましたので、この処理を何度も実行するとである程度の情報を取得できるかと思います。

 

また80行目で「$page<= 3」としています。

こちらも最大3ページ分のみ取得するようにしました。

 

まとめ

楽天ジャンルIDを取得するときにも薄々気づいてましたが、全てのジャンルに対してランキングを取得するには、複数の楽天APIアプリIDを用意して、並列にて行うしか無いかと思われます。

待機処理(usleep)を無効にすれば、速度的には早くなりますが、一定時間利用すると楽天側からアクセスを止められてしまいます。

 

今回の目的としてはw2uiのサンプルを作成することですので、総合ランキングの情報を利用していければと思います。

 

 

By にど寝

もともと名古屋でシステムエンジニアをしてましたが、現在は地元に帰省してネットショップの社内システムエンジニアをしてます。  

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)