lib/page_rankr/indexes/google.rb in PageRankr-1.7.1 vs lib/page_rankr/indexes/google.rb in PageRankr-2.0.0

- old
+ new

@@ -1,19 +1,27 @@ -require 'cgi' +require 'typhoeus' require 'json' module PageRankr - class Indexes < Tracker - class Google < Index + class Indexes + class Google + include Index # overloaded to use Google's AJAX search API # http://code.google.com/apis/ajaxsearch/documentation/ def initialize(site) - @indexes = clean JSON.parse( open( url(site)).read )["responseData"]["cursor"]["estimatedResultCount"].to_s + @site = site + + request.on_complete do |response| + json = JSON.parse(response.body) + @indexes = clean(json["responseData"]["cursor"]["estimatedResultCount"].to_s) + @indexes = nil if @indexes.zero? + end end - def url(site) - "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=1&q=site%3A#{CGI.escape(site)}" + def request + @request ||= Typhoeus::Request.new("http://ajax.googleapis.com/ajax/services/search/web", + :params => {:v => "1.0", :rsz => 1, :q => "site:#{@site.to_s}"}, :method => :get) end end end end \ No newline at end of file