読者です 読者をやめる 読者になる 読者になる

一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

マイペースにGoogle急上昇ワードを取得してもらった!

ruby

RubyGoogle急上昇ワードを取得するに書いてあるスクリプトをいじってみた。REXMLに詳しいかはわからないけど、XPath大好きなので、XPathを使って書き直した。

 わーい、コード書いてもらったよ!社会ネタを書くと詳しい人が色々教えてくれたことはあるけど、技術ネタでは初のレスポンスかもしれない。発言力無いからなぁこのブログ。

doc = REXML::Document.new(ret)
doc.get_elements('/rtt/item').each{|node|
puts node.elements['query'].text()
}

 これ!これです!知りたかったのは!なるほど、get_elementsってメソッドを使えばいいのか。そういえばdoc.rootでその次にXPathを指定するメソッドで取れなくて、まぁいいやとりあえず動くメソッドで・・・ということがあったような気がします。そういえば/rttを書いてなかったかも。
 ところでXML取得するだけならopen-uriの方がいいんじゃないかと思えてきた。

#!/usr/bin/env ruby

require 'rexml/document'
require 'open-uri'

url = 'http://www.google.co.jp/m/services/trends/get'

doc = REXML::Document.new(open(url).read)
doc.get_elements('/rtt/item').each {|node|
  puts node.elements['query'].text()
} 

 というわけで、更に書き直してみた。なんかスッキリした。id:d-kamiさん感謝です。