close

require 'rexml/document'
require 'net/http'
require 'cgi'
require 'iconv'

class String
  def to_googlesuggest
    word = self
    http  = Net::HTTP.new('www.google.com', 80)
    query = "/complete/search?output=toolbar&hl=zh-TW&js=true&qu==#{CGI::escape(word)}"
    req   = Net::HTTP::Get.new(query)
    res   = http.request(req).body

    File.open('suggest.xml','w') do |f|
        f.write(res.to_s)
    end

    doc = REXML::Document.new Iconv.conv("UTF-8//Ignore", 'UTF-8', res)
    suggested_words = []
    doc.get_elements('//toplevel/CompleteSuggestion').each do |e|
      suggested_words << e.elements['suggestion'].attributes['data'].to_s.split(/\s+/)
    end
    return  suggested_words.flatten!.uniq!

  end
end


#參考

#http://kwappa.txt-nifty.com/blog/2009/10/google-suggest-.html


#http://zh.wikipedia.org/w/api.php?action=opensearch&limit=10&format=xml&search=tf-idf

arrow
arrow
    全站熱搜

    igogo 發表在 痞客邦 留言(0) 人氣()