ruby-web-search
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A Ruby gem that provides a way to retrieve search results via the main search engines using Ruby
# Ruby Web Search

This gem allows you to query google search engine from Ruby.
So far, only Google is supported.


Simple example on how to query Google:

    >> require 'ruby-web-search'
    => true
    >> response = RubyWebSearch::Google.search(:query => "Natalie Portman")
    >> response.results
    => [{:content=>"Natalie Portman, Star Wars, Phantom Menace, Attack of the Clones, Amidala, Leon,   Professional, Where The Heart Is, Anywhere But Here, Seagull, Heat, ...", :title=>"Natalie Portman . Com - News", :url=>"http://www.natalieportman.com/", :domain=>"www.natalieportman.com", :cache_url=>"http://www.google.com/search?q=cache:9hGoJVGBJ2sJ:www.natalieportman.com"}, {:content=>"Natalie Portman was born on June 9th, 1981 in Jerusalem, Israel, as the... Visit   IMDb for Photos, Filmography, Discussions, Bio, News, Awards, Agent, ...", :title=>"Natalie Portman", :url=>"http://www.imdb.com/name/nm0000204/", :domain=>"www.imdb.com", :cache_url=>"http://www.google.com/search?q=cache:JLzGjsYYdlkJ:www.imdb.com"}, {:content=>"Natalie Portman (Hebrew: \327\240\327\230\327\234\327\231 \327\244\327\225\327\250\327\230\327\236\327\237\342\200\216; born Natalie Hershlag June 9, 1981) is an   Israeli-American actress. Portman began her career in the early 1990s, ...", :title=>"Natalie Portman - Wikipedia, the free encyclopedia", :url=>"http://en.wikipedia.org/wiki/Natalie_Portman", :domain=>"en.wikipedia.org", :cache_url=>"http://www.google.com/search?q=cache:32A4VEkC23gJ:en.wikipedia.org"}, {:content=>"Aug 30, 2008 ... media on Miss Portman. You may recognize Natalie for her roles in .... is in in   no way affiliated with Natalie Portman or her management. ...", :title=>"Natalie Portman ORG ++{natalie-p.org} | your premiere NATALIE ...", :url=>"http://www.natalie-p.org/", :domain=>"www.natalie-p.org", :cache_url=>"http://www.google.com/search?q=cache:wv-CVcMW2SEJ:www.natalie-p.org"}] 
    
A google search returns a Response instance. Call `results` on the response to get the array on result. 
A Result is a simple hash object with few keys available:

* title       Title of the result
* url         Url of the result
* domain      Root url of the result
* content     Snippet of the result content
* cache\_url  Google cache url


By default, only the 4 top results get retrieved, you can specify the exact amount of results you want by passing the size argument.
    RubyWebSearch::Google.search(:query => "Natalie Portman", :size => 10)

## TODO

* Full support of the google api
* support more search engines (Yahoo, live etc...)

## Experimentations

Here are some benchmarks, it looks like running multiple concurrent threads is often not worth it
http://gist.github.com/45350
warmed up jruby benchmarks

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。