class Query::Engine::BaiduMobile

Constants

Host
Options

Public Class Methods

query(wd, params={}) click to toggle source

基本查询,相当于从搜索框直接输入关键词查询

# File lib/query/engine/baidu_mobile.rb, line 11
def self.query(wd, params={})
  q = Array.new
  q << "word=#{URI.encode(wd)}"
  q << "rn=#{@perpage.to_i}" if @perpage
  # Join arguments
  params.each do |k, v|
    q << "#{k.to_s}=#{v.to_s}"
  end
  uri = URI::HTTP.build(:host=>Host,:path=>'/s',:query=>q.join('&'))
  # begin
    res = HTTParty.get(uri, Options)
    r = Query::Result::BaiduMobile.new(res)
    r.baseuri, r.options = uri, Options
    r
  # rescue Exception => e
      # warn "#{__FILE__} #{__LINE__} #{uri} fetch error: #{e.to_s}"
      # return false
  # end
end
suggestions(query,options = {}) click to toggle source
# File lib/query/engine/baidu_mobile.rb, line 31
def self.suggestions(query,options = {})
  require 'json'
  query = URI.encode(query)

  suggestions = HTTParty.get("https://m.baidu.com/su?callback=jsonp11&wd=#{query}",options).to_s
  suggestions = suggestions.force_encoding('GB18030').encode('UTF-8')
  suggestions = suggestions.split('s:[')[1].delete(']});').delete('"').split(',').uniq
end