楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモというPythonについての記事に、コメントやトラックバックをいただくことがあり見直してみると、めちゃめちゃややこしいことしてるな(笑)と思ったので、Ruby1.9で書きなおしてみました。
楽天商品検索API(XML)で「VQ1015 ENTRY」の検索結果のヒット件数と商品名を抜き取る
Aのヒット件数、Bの商品名を抜き取ります。
# -*- coding: utf-8 -*-
require 'open-uri'
require 'rexml/document'
rakuten_api_url = 'http://api.rakuten.co.jp/rws/3.0/rest?'
rakuten_developerid = '0123456789'
keyword='VQ1015%20ENTRY'
url = "#{rakuten_api_url}developerId=#{rakuten_developerid}&operation=ItemSearch&version=2010-06-30&keyword=#{keyword}"
doc = REXML::Document.new(open(url))
puts doc.elements['//hits'].text
doc.elements.each('//itemName') { |itemname| puts itemname.text.encode 'Shift_JIS' }
- 「rakuten_developerId = “0123456789″」の「”0123456789″」は取得したデベロッパーIDに置き換えてください。
- Windows環境なので、商品名をShiftJISにエンコードしています。
ファイルを実行すると、以下の検索結果のヒット件数と商品名が抜き出せます。
3 Vista Quest(ビスタクエスト) VQ1015 ENTRY トイデジカメ レッド Vista Quest(ビスタクエスト) VQ1015 ENTRY トイデジカメ イエロー Vista Quest(ビスタクエスト) VQ1015 ENTRY トイデジカメ ブラック
てなカンジで、Ruby1.9だとめちゃめちゃシンプルに書けますw
詳細はまた後日~w

ピンバック: Tweets that mention Ruby1.9でリファクタリングする!楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモ | ぐるらん -- Topsy.com