楽天APIを使って全ジャンルを取得する

楽天ジャンル検索API (version:2014-02-22)を使って楽天市場の全ジャンルを取得してみました。
PHPの再帰関数を使って、ひたすらAPIを投げてみました。
ソースは以下の通りです。

<?php 
  $result = array();
  $i = 0;
  get_contents('0');

  function get_contents($id){

    global $i, $result;

    $contents = file_get_contents('https://app.rakuten.co.jp/services/api/IchibaGenre/Search/20140222?applicationId=自身のアプリID&genreId=' . $id . '');
    $array = json_decode($contents, true);

    foreach ($array['children'] as $value) {

      $result[$i]['genreId'] = $value['child']['genreId'];
      $result[$i]['genreName'] = $value['child']['genreName'];
      $result[$i]['genreLevel'] = $value['child']['genreLevel'];

      $i++;
      sleep(1);

      get_contents($result[$i - 1]['genreId']);
    }
  }
?>

1デベロッパーIDにつき、1秒に1回以下のリクエストとするというAPIの利用制限があるので時間がかかります。
最終的な処理時間は38092秒かかりました。

取得したものは、ジャンルID、ジャンル名、ジャンルレベルをCSV形式で保存してありますので、必要な方はダウンロードして使ってみてください。

楽天ジャンル一覧CSV

コメント

タイトルとURLをコピーしました