class Descartes::Google
Public Instance Methods
execute(m, query)
click to toggle source
# File lib/descartes/modules/google.rb, line 24 def execute(m, query) res = search query if res.empty? # m.reply 'No results found.' m.reply 'Nessun risultato.' else res[0..3].each { |r| m.reply "#{r[:title]} - #{r[:url]}" } end end
search(query)
click to toggle source
# File lib/descartes/modules/google.rb, line 35 def search(query) page = Nokogiri::HTML open("http://www.google.com/search?q=#{CGI.escape(query)}") [].tap { |res| page.search('cite').each { |r| res << { url: r.inner_text } } page.xpath('//h3[@class="r"]').each_with_index { |r, i| res[i][:title] = r.child.inner_text } } end