Module: Query::Result
- Included in:
- Baidu, BaiduMobile, BaiduMobileApi, Qihu, QihuMobile, SMobile, Sogou, SogouMobile
- Defined in:
- lib/query/result.rb,
lib/query/result/qihu.rb,
lib/query/result/baidu.rb,
lib/query/result/sogou.rb,
lib/query/result/sm_mobile.rb,
lib/query/result/qihu_mobile.rb,
lib/query/result/baidu_mobile.rb,
lib/query/result/sogou_mobile.rb,
lib/query/result/baidu_mobile_api.rb
Defined Under Namespace
Classes: Baidu, BaiduMobile, BaiduMobileApi, Qihu, QihuMobile, SMobile, Sogou, SogouMobile
Instance Attribute Summary collapse
-
#baseuri ⇒ Object
Returns the value of attribute baseuri.
-
#options ⇒ Object
Returns the value of attribute options.
-
#pagenumber ⇒ Object
Returns the value of attribute pagenumber.
-
#perpage ⇒ Object
Returns the value of attribute perpage.
Instance Method Summary collapse
- #initialize(page) ⇒ Object
- #next ⇒ Object
-
#rank(host) ⇒ Object
on base of ranks.
- #raw_ranks ⇒ Object
Instance Attribute Details
#baseuri ⇒ Object
Returns the value of attribute baseuri.
3 4 5 |
# File 'lib/query/result.rb', line 3 def baseuri @baseuri end |
#options ⇒ Object
Returns the value of attribute options.
3 4 5 |
# File 'lib/query/result.rb', line 3 def @options end |
#pagenumber ⇒ Object
Returns the value of attribute pagenumber.
3 4 5 |
# File 'lib/query/result.rb', line 3 def pagenumber @pagenumber end |
#perpage ⇒ Object
Returns the value of attribute perpage.
3 4 5 |
# File 'lib/query/result.rb', line 3 def perpage @perpage end |
Instance Method Details
#initialize(page) ⇒ Object
4 5 6 7 |
# File 'lib/query/result.rb', line 4 def initialize(page) @page = Nokogiri::HTML page @pagenumber = 1 end |
#next ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/query/result.rb', line 33 def next return false unless next_url @next_url = URI.join(@baseuri, next_url) next_page = HTTParty.get(@next_url, @options) r = self.class.new(next_page) r.pagenumber, r.perpage, r., r.baseuri = @pagenumber + 1, @perpage, @options, @baseuri r end |
#rank(host) ⇒ Object
on base of ranks
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/query/result.rb', line 17 def rank(host)#on base of ranks @rank ||= %w(seo_ranks ads_top ads_right ads_bottom).map do |type_str| result = nil send(type_str).each_with_index do |line,index| if host.class == Regexp result = index + 1 and break if line[:host] =~ host elsif host.class == String result = index + 1 and break if line[:host] == host else result = false end end result end end |
#raw_ranks ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/query/result.rb', line 8 def raw_ranks { 'ads_top'=>ads_top, 'ads_right'=>ads_right, 'ads_bottom'=>ads_bottom, 'seo_ranks'=>seo_ranks } end |