Written by: on 2008/05/19 @ 12:30 AM

railsでwebサービスを使って何かを作ってみる、その下地としてrubyからwebサービスを使用してみました。


価格コムの場合
XMLで結果が返ってきます。返ってきたXMLに対し、xpathでデータの取り出しを試みます。

require 'open-uri'
require 'rexml/document'
require 'pp'
uri = "http://api.kakaku.com/Ver1/ItemSearch.asp?Keyword=ST3320613AS"
doc = REXML::Document.new(open(uri))
puts doc.elements['/ProductInfo/Item/ProductID'].text
puts doc.elements['/ProductInfo/Item/ProductName'].text
puts doc.elements['/ProductInfo/Item/ItemPageUrl'].text

del.icio.usの場合
検索をする場合、検索するurlを暗号化する必要があります。また、返ってくるデータがjsonなのでREXMLは不要になります。

require 'open-uri'
require 'digest/md5'
dest = Digest::MD5.hexdigest("http://oranblue.net/blog/item/29")
uri = "http://badges.del.icio.us/feeds/json/url/data?hash=" + dest
open(uri) {|f|
print f.read
}

はてなブックマークの場合
xmlrpcを使用するようです。とりあえずperlの例を真似てブックマークされている合計件数を取得してみました。

require 'xmlrpc/client'
endpoint = "http://b.hatena.ne.jp/xmlrpc"
url = "http://oranblue.net/blog"
client = XMLRPC::Client.new2(endpoint)
puts client.call('bookmark.getTotalCount',url)
Catogories: ruby

Leave a Reply