探し物の見つけ方。
Developer's Guide - Google AJAX Search API - Google Code
GoogleのSOAP検索APIが廃止されてから、長らく自作のスクリプト*1等からのウェブ検索はYahoo!の独壇場だった。SOAP APIの廃止後、GoogleはAJAX Search APIを提供してJSONPで検索結果を取れるようにはなってたんだけど、このAPIを他の環境からも叩けるようになった*2。
ゆーすけべー日記: JavaScript 環境以外から Google AJAX Search API を使う
使い方は簡単。http://ajax.googleapis.com/ajax/services/search/webに対して、バージョン"1.0"をv、キーワードをqとしてGETリクエストを発行すれば検索結果がJSONで返ってくる。この際、Refererとして自サイト(APIの戻り値を使っているページ)のURLを指定しておくこと。APIキーを付け加えるのが推奨されているけど、コレはなくてもいい。他のパラメータは先に挙げた記事が詳しいので、そっちを見てください。
Rubyからならこんな感じ。
#!/usr/bin/env ruby $KCODE='u' require 'open-uri' require 'cgi' require "rubygems" require "json" Google = "http://ajax.googleapis.com/ajax/services/search/web" Version = '1.0' Referer = "http://www.example.com/" keyword = "ひだまりスケッチ" url = "#{Google}?v=#{Version}&q=#{CGI::escape(keyword)}" ret = nil open(url, "Referer" => Referer){|api| ret = JSON.parse(api.read) } ret["responseData"]["results"].each{|item| puts "#{item["title"]}: #{item["url"]}" }