baiduserp 2.3.5 → 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c4f925a3ac00d8faedd0ce3c596b957cd76f2323
4
- data.tar.gz: 4d3f836b54ed03bfd70603cb82425f78e96c3cb1
3
+ metadata.gz: 2886ad6a97fe01a9cc1ba3ab6f9893a7b37495d3
4
+ data.tar.gz: 3e78db82105ef932cf65253655fc49f01f2f7118
5
5
  SHA512:
6
- metadata.gz: abf62c6dcb480558c39f58b8e4f7b27b7146ccfe2d380225d7541ac32def7575f37628b1df86ba0d73da574ecb040a758169736dc3ceddb29167c9ea83b89fa8
7
- data.tar.gz: 5192e5a8175459b121f46413d3d6701b5ffba45f615e9dcfbee360af151daf82b9b68e4b930c99639eb465553f45e49aaba3d4d73129d2452263c178d4cfeac0
6
+ metadata.gz: 83192c563fb0ca280cbfccf647c52474bc0e4b286923e4d06060de574a146260476162b126cc98a006357928e8b4f2d96ab4607f5cef7fcf774427d21a244f56
7
+ data.tar.gz: d99d993c78e32fe16f66768c684cb441123250a27f774296e4dcf4189db1bc0b04ac87a7fc57b847ae20ee964e1bf2ce13b59063f0b0a763cf66979032e268e3
@@ -2,6 +2,7 @@ require 'sequel'
2
2
  require 'csv'
3
3
  require 'date'
4
4
  require 'yaml'
5
+ require 'ruby-progressbar'
5
6
 
6
7
  module Baiduserp
7
8
  class Analyser
@@ -54,26 +55,36 @@ module Baiduserp
54
55
  end
55
56
 
56
57
  def search(date=Date.today)
58
+ p = ProgressBar.create(:title => "Search Keywords", :total => @keywords.all.count)
57
59
  @keywords.each do |k|
58
- next if @htmls.where(:date => date, :keyword_id => k[:id]).count > 0
59
- puts k.to_hash
60
+ if @htmls.where(:date => date, :keyword_id => k[:id]).count > 0
61
+ p.increment
62
+ next
63
+ end
64
+ p.log k.to_hash
60
65
  html = Baiduserp.get_search_html(k[:term])
61
- serp = Baiduserp.parse(html)
62
66
  @htmls.find_or_create(:keyword_id => k[:id], :date => date) {|r| r.content = html}
63
- @serps.find_or_create(:keyword_id => k[:id], :date => date) {|r| r.content = YAML.dump(serp)}
67
+ p.increment
64
68
  end
65
69
  end
66
70
 
67
71
  def generate_serps(date=Date.today)
68
- @htmls.where(:date => date).each do |html|
72
+ htmls = @htmls.where(:date => date)
73
+ p = ProgressBar.create(:title => "Generating SERPS", :total => htmls.count)
74
+ htmls.each do |html|
69
75
  keyword_id = html[:keyword_id]
70
76
  html = html[:content]
71
77
  @serps.find_or_create(:date => date, :keyword_id => keyword_id) {|r| r.content = YAML.dump(Baiduserp.parse(html))}
78
+
79
+ p.log keyword_id
80
+ p.increment
72
81
  end
73
82
  end
74
83
 
75
84
  def generate_weights(date=Date.today)
76
- @serps.where(:date => date).each do |s|
85
+ serps = @serps.where(:date => date)
86
+ p = ProgressBar.create(:title => "Generating Weights", :total => serps.count)
87
+ serps.where(:date => date).each do |s|
77
88
  keyword_id = s[:keyword_id]
78
89
  serp = YAML.load(s[:content])
79
90
 
@@ -100,6 +111,8 @@ module Baiduserp
100
111
  r.normalized_weight = normalized_weight
101
112
  end
102
113
  end
114
+ p.log keyword_id
115
+ p.increment
103
116
  end
104
117
  end
105
118
 
@@ -1,3 +1,3 @@
1
1
  module Baiduserp
2
- VERSION = "2.3.5"
2
+ VERSION = "2.3.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baiduserp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.5
4
+ version: 2.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - MingQian Zhang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-11 00:00:00.000000000 Z
11
+ date: 2013-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ruby-progressbar
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: Parse Baidu SERP result page.
84
98
  email:
85
99
  - zmingqian@qq.com