class SearchEngine

Attributes

uri[RW]

Public Class Methods

new() click to toggle source
# File lib/search_engine.rb, line 8
def initialize
  self.uri = "http://www.google.com/uds/GwebSearch?start=0"\
             "&rsz=large&hl=en&key=notsupplied&v=1.0&"
end

Public Instance Methods

build_url(query, page) click to toggle source
# File lib/search_engine.rb, line 31
    def build_url(query, page)
            start = (page - 1) * 8
self.uri.chomp! "&rsz=large&hl=en&key=notsupplied&v=1.0&"

while self.uri[-1, 1] != "=" do
  self.uri.chop!
end

self.uri << "#{start}&rsz=large&hl=en&key=notsupplied&v=1.0&"

            query.strip!
q_uri = URI.encode_www_form('q' => query)

return self.uri + q_uri + "&filter=1"
    end
extract_fields(fields, hash_results) click to toggle source
# File lib/search_engine.rb, line 48
def extract_fields(fields, hash_results)
  extracted_results = []
  if fields.empty?
    raise "No fields given."
  else
    fields.each do |f|
      index = 0
      
      hash_results.each do |hr|
        if hr.has_key?(f)
          extracted_results << hash_results[index][f]
          index += 1
        end
      end
    end
  end
  
  return extracted_results
end
get_result_count(query) click to toggle source
# File lib/search_engine.rb, line 69
def get_result_count(query)
  cursor_hash = open_file(query)
  return cursor_hash[:responseData][:cursor][:resultCount]
end
get_search_time(query) click to toggle source
# File lib/search_engine.rb, line 75
def get_search_time(query)
  cursor_hash = open_file(query)
  return cursor_hash[:responseData][:cursor][:searchResultTime]
end