人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

楽天APIを利用して、全商品を取得していくようにする方法を教えてください。

楽天API
https://webservice.rakuten.co.jp/api/ichibaitemsearch/


※可能であればですが、アフィリエイト料率が高い順や、人気順に出来れば幸いです。


●質問者: maintour15
●カテゴリ:インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●500ポイント ベストアンサー

https://webservice.rakuten.co.jp/api/ichibaitemsearch/
上記に書いてある通り、幾つかの制限があるために全商品を取得することはできません。

また、「※短い時間の間に大量に、同一のリクエストURLへアクセスすると、一定時間利用できなくなる場合がございます。テストの際にはご注意ください。」という制限も書かれています。


その範囲内でよければ、HTML + javascript だとこんな感じのコードで取得できます。
キーワードを「円」にして、アフィリエイト利用利率の大きい順で 150件を取得し、店名、商品コード、商品名を表示します。

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//raw.github.com/padolsey/jQuery-Plugins/master/cross-domain-ajax/jquery.xdomainajax.js"></script>

<script>
(function() {

 var APPID = '9999999999999999999'; // ★ここには楽天のアプリID を設定する
 var MAX_PAGE = 5;
 var n = 1;

 function put_item(item) {
 $("#output tbody").append(
`
<tr>
<td>${n}</td>
<td>${item.shopName}</td>
<td>${item.itemCode}</td>
<td>${item.itemName}</td>
<td>${item.affiliateRate}</td>
</tr>
`
 );
 n += 1;
 }

 function search_rakuten(page) {
 var keyword = encodeURIComponent("円");
 $.ajax({
 url: 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20140222?applicationId=' + APPID +
 '&keyword=' + keyword +
 '&sort=%2DaffiliateRate' +
 '&page=' + page,
 type: 'GET',
 dataType: 'html',
 timeout: 30000,
 success: function(resp){
 var work = document.createElement("DIV");
 work.innerHTML = resp.responseText;
 var data = JSON.parse(work.firstChild.nodeValue);
 for (var i in data.Items) {
 put_item(data.Items[i].Item);
 }
 if (page < MAX_PAGE) {
 search_rakuten(page + 1);
 }
 },
 error: function(xhr, status, error){
 alert("ERROR !");
 console.log("ERROR: ", status, error);
 console.log(xhr);
 }
 });
 }

 search_rakuten(1);

})();

</script>
</head>

<body>
<table id="output" border="1">
 <tbody></tbody>
</table>
</body>

</html>

こんな感じで取得できます。
f:id:a-kuma3:20160628172033p:image

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ