baiduserp 2.3.5 → 2.3.7

Sign up to get free protection for your applications and to get access to all the features.
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