Ruby1.9でリファクタリングする!楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモ

このエントリーをはてなブックマークに追加
はてなブックマーク - Ruby1.9でリファクタリングする!楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモ
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
Ruby1.9でリファクタリングする!楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモぐるらん

楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモというPythonについての記事に、コメントやトラックバックをいただくことがあり見直してみると、めちゃめちゃややこしいことしてるな(笑)と思ったので、Ruby1.9で書きなおしてみました。

楽天商品検索API(XML)で「VQ1015 ENTRY」の検索結果のヒット件数と商品名を抜き取る

楽天ウェブサービスのXML

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

Ruby1.9でリファクタリングする!楽天ウェブサービスを使って商品情報を取得しよう『10日でおぼえるPython入門教室』第3日 1限目メモ” への1件のコメント

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

コメントを残す

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

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>