[[FrontPage]]-[[Ruby]]
Googleの検索を読みたいの?
もっともお手軽なのは json ね。
たくさん検索しようと思うとgoogleと契約しないとダメだけど、でもお仕事で使いたいなら無料ばかりはどうかと思うし。
まず、以下の方法で検索結果をもらってきましょう。方法は任せるわ。
あ、でも HTTPヘッダのRefererとか、どこから来たのって情報はつけておくべきだと思うわ。
400番台とか、よくわからない番号でエラーになった場合はたぶん「あやしいやつから要求がきた」って弾かれちゃうと思うから。~
何も与えずに結果だけもらおうなんてダメよね。等価交換を忘れちゃダメよ。
ちなみに私のは、こんな感じかな。
class String
def google_search2
referer = "http://www.google.co.jp/"
keyword = URI.escape(self)
urlx = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rez=5&q=' + keyword
r = []
p "|w3m -dump \"#{urlx}\""
open("|w3m -header \"Referer: #{referer}\" -dump \"#{urlx}\"","r").each{|x|
r[r.length] = x.clone
}
rx = r.join("")
rx
end
end
で、使い方は、こう。
answer = "衛宮士郎".google_search2
もらったデータは JSON になってるから、これは解析しないとね。こうしましょう。
JSON.load(answer)["responseData"]["results"].each{|h|
p h["url"]
p h["title"]
p h["content"]
}