CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 07 Aug 2025 16:19:43 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090709065717
location: https://web.archive.org/web/20090709065717/https://github.com/mattetti/ruby-web-search/tree
server-timing: captures_list;dur=0.987746, exclusion.robots;dur=0.027739, exclusion.robots.policy;dur=0.012456, esindex;dur=0.014285, cdx.remote;dur=142.843340, LoadShardBlock;dur=392.985780, PetaboxLoader3.datanode;dur=83.313128, PetaboxLoader3.resolve;dur=128.706275
x-app-server: wwwb-app215
x-ts: 302
x-tr: 593
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app215; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Thu, 07 Aug 2025 16:19:44 GMT
content-type: text/html; charset=utf-8
content-length: 120
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Thu, 09 Jul 2009 06:57:16 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090709065717/https://github.com/mattetti/ruby-web-search/tree/master
x-archive-orig-x-runtime: 1291ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 120
cache-control: max-age=1800
memento-datetime: Thu, 09 Jul 2009 06:57:17 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 09 Jul 2009 06:57:17 GMT", ; rel="memento"; datetime="Thu, 09 Jul 2009 06:57:17 GMT", ; rel="last memento"; datetime="Thu, 09 Jul 2009 06:57:17 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_10_20090709034227_crawl102_IndexOnly.gpg-c/52_10_20090709065636_crawl101.arc.gz
server-timing: captures_list;dur=0.629935, exclusion.robots;dur=0.022236, exclusion.robots.policy;dur=0.010574, esindex;dur=0.015788, cdx.remote;dur=12.211617, LoadShardBlock;dur=205.162939, PetaboxLoader3.datanode;dur=133.663999, PetaboxLoader3.resolve;dur=238.526488, load_resource;dur=207.153240
x-app-server: wwwb-app215
x-ts: 301
x-tr: 449
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Thu, 07 Aug 2025 16:19:44 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Thu, 09 Jul 2009 06:57:16 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 406ms
x-archive-orig-etag: "af619caafe763c840a1c0af1da43c68f"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 24263
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Thu, 09 Jul 2009 06:57:17 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 06 Jul 2009 08:16:48 GMT", ; rel="prev memento"; datetime="Mon, 06 Jul 2009 08:16:48 GMT", ; rel="memento"; datetime="Thu, 09 Jul 2009 06:57:17 GMT", ; rel="last memento"; datetime="Thu, 09 Jul 2009 06:57:17 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_10_20090709034227_crawl102_IndexOnly.gpg-c/52_10_20090709065636_crawl101.arc.gz
server-timing: captures_list;dur=0.832004, exclusion.robots;dur=0.028756, exclusion.robots.policy;dur=0.012718, esindex;dur=0.016319, cdx.remote;dur=23.688341, LoadShardBlock;dur=200.146768, PetaboxLoader3.datanode;dur=214.809984, load_resource;dur=137.717100, PetaboxLoader3.resolve;dur=117.271280
x-app-server: wwwb-app215
x-ts: 200
x-tr: 412
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
mattetti's ruby-web-search at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | A Ruby gem that provides a way to retrieve search results via the main search engines using Ruby edit |
Homepage: | edit |
Public Clone URL: |
git://github.com/mattetti/ruby-web-search.git
Give this clone URL to anyone.
git clone git://github.com/mattetti/ruby-web-search.git
|
Your Clone URL: |
Use this clone URL yourself.
git clone git@github.com:mattetti/ruby-web-search.git
|
name | age | message | |
---|---|---|---|
![]() |
LICENSE | Loading commit data... ![]() |
|
![]() |
README.markdown | ||
![]() |
Rakefile | ||
![]() |
lib/ | ||
![]() |
ruby-search.gemspec | ||
![]() |
script/ | Wed Jan 14 01:22:18 -0800 2009 | Removed benchmarks for result sets larger than ... [permelin] |
![]() |
spec/ |
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=>"<b>Natalie Portman</b>, Star Wars, Phantom Menace, Attack of the Clones, Amidala, Leon, Professional, Where The Heart Is, Anywhere But Here, Seagull, Heat, <b>...</b>", :title=>"Natalie Portman . Com - News", :url=>"https://www.natalieportman.com/", :domain=>"www.natalieportman.com", :cache_url=>"https://www.google.com/search?q=cache:9hGoJVGBJ2sJ:www.natalieportman.com"}, {:content=>"<b>Natalie Portman</b> was born on June 9th, 1981 in Jerusalem, Israel, as the... Visit IMDb for Photos, Filmography, Discussions, Bio, News, Awards, Agent, <b>...</b>", :title=>"Natalie Portman", :url=>"https://www.imdb.com/name/nm0000204/", :domain=>"www.imdb.com", :cache_url=>"https://www.google.com/search?q=cache:JLzGjsYYdlkJ:www.imdb.com"}, {:content=>"<b>Natalie Portman</b> (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 <b>Natalie</b> Hershlag June 9, 1981) is an Israeli-American actress. <b>Portman</b> began her career in the early 1990s, <b>...</b>", :title=>"Natalie Portman - Wikipedia, the free encyclopedia", :url=>"https://en.wikipedia.org/wiki/Natalie_Portman", :domain=>"en.wikipedia.org", :cache_url=>"https://www.google.com/search?q=cache:32A4VEkC23gJ:en.wikipedia.org"}, {:content=>"Aug 30, 2008 <b>...</b> media on Miss <b>Portman</b>. You may recognize <b>Natalie</b> for her roles in <b>....</b> is in in no way affiliated with <b>Natalie Portman</b> or her management. <b>...</b>", :title=>"Natalie Portman ORG ++{natalie-p.org} | your premiere NATALIE ...", :url=>"https://www.natalie-p.org/", :domain=>"www.natalie-p.org", :cache_url=>"https://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 https://gist.github.com/45350 warmed up jruby benchmarks
This feature is coming soon. Sit tight!