Ruby on Rails で楽天商品ページを取得してみた

先日、nokogiriを使って商品ページを取得してたのですが、

楽天公式のAPIが公開されてます!!
PHPRubyにはSDKも用意されてました。


車輪の再発明はよくないです。
nokogiriはまた別の機会に使いましょう!

ということで、さっそく、API経由で楽天商品ページを取得してみます!

参考

本家のマニュアル

楽天SDKマニュアルはPHPRubyが用意されています。
Githubにサンプルも用意されてます。

webservice.rakuten.co.jp
github.com


他の解説記事

こちらの記事でRailsに導入していて、今回はそれを元に実装してみました。

qiita.com


試してみる

準備

Gemfileに追記
gem 'rakuten_web_service'
config/initializers/rakuten.rbを下記の中身で新規作成
RakutenWebService.configuration do |c|
    c.application_id = 'アプリケーションID'
    c.affiliate_id = 'アフィリエイトID'#任意
end
「検索キーワード='Ruby'」で情報取得
class TestController < ApplicationController
    def test
        @items = RakutenWebService::Ichiba::Item.search(:keyword => 'Ruby', :genreId => ’200162’)
    end
end
HTML
<% i = 1 %>
<% @items.each do |item| %>
  <tr>
    <td>
      <button id="button" onclick="setlocalStorage()">保存</button>
    </td>
    <td><%= i %></td><% i += 1 %>
    <td><img src="<%= item['smallImageUrls'][0] %>"></td>
    <td><a href="<%= item['itemUrl'] %>" target="_blank"><%= item['itemName'] %></a></td>
    <td><%= item['itemPrice'] %></td>
  </tr>
<% end %>

出力結果

f:id:takoyarosan:20180728164332p:plain


他にも画像やタイトルだけでなく、様々な項目が取得できます。

詳しくは、楽天APIページの「出力パラメーター」に載ってます。

楽天ウェブサービス: 楽天商品検索API(version:2017-07-06) | API一覧


まとめ

開発する前に、APISDKの有無を確認しておく。
楽天SDKは簡単に使えてマニュアルも分かりやすい。