= Google Custom Search
Ruby API to Google Custom Search Engine (http://www.google.com/cse). Works with the paid version of CSE where you get results in XML format.
== 1. Install
Install either as a Rails plugin:
script/plugin install git://github.com/alexreisner/google_custom_search.git
or as a gem:
# add to config/environment.rb:
config.gem "google_custom_search", :source => "http://gemcutter.org/"
# at command prompt:
sudo rake gems:install
or as a standalone gem (outside of Rails):
sudo gem install google_custom_search --source http://gemcutter.org
== 2. Configure
You *must* define a constant in your application called GOOGLE_SEARCH_CX. For example, if you're using Rails, create a file config/initializers/google_custom_search.rb:
GOOGLE_SEARCH_CX = "..."
You can find the CX value for your custom search engine via the search control panel on Google's site (click the "Get code" link and you'll see a hidden "cx" field in the sample HTML form).
If you're working outside of Rails you'll also need some +require+ statements:
require 'rubygems'
require 'rexml/document'
require 'google_custom_search'
== 3. Use
To perform a search:
results = GoogleCustomSearch.search("Hank Aaron")
The +results+ variable is now a GoogleCustomSearch::ResultSet object:
results.total # 5080
results.pages # array of GoogleCustomSearch::Result objects
results.suggestion # string with suggested search term, if any
Iterate through the results:
results.pages.each do |r|
r.title # page title
r.url # page URL
r.description # Google's excerpt, with terms highlighted
end
== Future
* access to all data returned by Google
* support for features of CSE free version
* support for multiple CSEs in one app (GOOGLE_SEARCH_CX should be a hash)
Copyright (c) 2009 Alex Reisner, released under the MIT license