market_bot 0.5.1 → 0.6.0
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.
- data/Gemfile +12 -15
- data/Gemfile.lock +19 -2
- data/Guardfile +5 -0
- data/README.markdown +1 -1
- data/VERSION +1 -1
- data/lib/market_bot.rb +3 -0
- data/lib/market_bot/android/search_query.rb +29 -0
- data/market_bot.gemspec +14 -5
- data/spec/market_bot/android/search_query_spec.rb +6 -0
- metadata +44 -9
data/Gemfile
CHANGED
@@ -1,19 +1,16 @@
|
|
1
|
-
source
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
1
|
+
source 'http://rubygems.org'
|
5
2
|
|
6
|
-
gem
|
7
|
-
gem
|
3
|
+
gem 'typhoeus'
|
4
|
+
gem 'nokogiri'
|
8
5
|
|
9
|
-
# Add dependencies to develop your gem here.
|
10
|
-
# Include everything needed to run rake, tests, features, etc.
|
11
6
|
group :development do
|
12
|
-
gem
|
13
|
-
gem
|
14
|
-
gem
|
15
|
-
gem
|
16
|
-
gem
|
17
|
-
gem
|
18
|
-
gem
|
7
|
+
gem 'rspec', '~> 2.8.0'
|
8
|
+
gem 'bundler', '~> 1.1.0'
|
9
|
+
gem 'jeweler', '~> 1.6.4'
|
10
|
+
gem 'simplecov', '>= 0'
|
11
|
+
gem 'rdoc', '>= 3.9.4'
|
12
|
+
gem 'guard', '~> 1.2.3'
|
13
|
+
gem 'guard-rspec', '~> 1.1.0'
|
14
|
+
gem 'growl'
|
15
|
+
platform(:ruby) { gem 'debugger' }
|
19
16
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
ZenTest (4.6.2)
|
5
4
|
columnize (0.3.6)
|
6
5
|
debugger (1.1.4)
|
7
6
|
columnize (>= 0.3.1)
|
@@ -13,15 +12,30 @@ GEM
|
|
13
12
|
diff-lcs (1.1.3)
|
14
13
|
ffi (1.0.11)
|
15
14
|
git (1.2.5)
|
15
|
+
growl (1.0.3)
|
16
|
+
guard (1.2.3)
|
17
|
+
listen (>= 0.4.2)
|
18
|
+
thor (>= 0.14.6)
|
19
|
+
guard-rspec (1.1.0)
|
20
|
+
guard (>= 1.1)
|
16
21
|
jeweler (1.6.4)
|
17
22
|
bundler (~> 1.0)
|
18
23
|
git (>= 1.2.5)
|
19
24
|
rake
|
20
25
|
json (1.7.3)
|
26
|
+
listen (0.4.7)
|
27
|
+
rb-fchange (~> 0.0.5)
|
28
|
+
rb-fsevent (~> 0.9.1)
|
29
|
+
rb-inotify (~> 0.8.8)
|
21
30
|
mime-types (1.18)
|
22
31
|
multi_json (1.3.6)
|
23
32
|
nokogiri (1.5.4)
|
24
33
|
rake (0.9.2.2)
|
34
|
+
rb-fchange (0.0.5)
|
35
|
+
ffi
|
36
|
+
rb-fsevent (0.9.1)
|
37
|
+
rb-inotify (0.8.8)
|
38
|
+
ffi (>= 0.5.0)
|
25
39
|
rdoc (3.12)
|
26
40
|
json (~> 1.4)
|
27
41
|
rspec (2.8.0)
|
@@ -36,6 +50,7 @@ GEM
|
|
36
50
|
multi_json (~> 1.0)
|
37
51
|
simplecov-html (~> 0.5.3)
|
38
52
|
simplecov-html (0.5.3)
|
53
|
+
thor (0.15.4)
|
39
54
|
typhoeus (0.4.2)
|
40
55
|
ffi (~> 1.0)
|
41
56
|
mime-types (~> 1.18)
|
@@ -44,9 +59,11 @@ PLATFORMS
|
|
44
59
|
ruby
|
45
60
|
|
46
61
|
DEPENDENCIES
|
47
|
-
ZenTest (~> 4.6.2)
|
48
62
|
bundler (~> 1.1.0)
|
49
63
|
debugger
|
64
|
+
growl
|
65
|
+
guard (~> 1.2.3)
|
66
|
+
guard-rspec (~> 1.1.0)
|
50
67
|
jeweler (~> 1.6.4)
|
51
68
|
nokogiri
|
52
69
|
rdoc (>= 3.9.4)
|
data/Guardfile
ADDED
data/README.markdown
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Market Bot is a high performance Ruby scraper for Google's Android Market with a simple to use API.
|
4
4
|
It is built on top of Nokogiri and Typhoeus.
|
5
|
-
Used in production to power [www.droidmeter.com](http://www.droidmeter.com).
|
5
|
+
Used in production to power [www.droidmeter.com](http://www.droidmeter.com/?t=github).
|
6
6
|
|
7
7
|
## Dependencies
|
8
8
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
data/lib/market_bot.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
module MarketBot
|
2
|
+
module Android
|
3
|
+
|
4
|
+
# Search query pages are extremely similar to leaderboard pages.
|
5
|
+
# Amazingly, this inheritence hack works!
|
6
|
+
class SearchQuery < MarketBot::Android::Leaderboard
|
7
|
+
def market_urls(options={})
|
8
|
+
results = []
|
9
|
+
|
10
|
+
min_page = options[:min_page] || 1
|
11
|
+
max_page = options[:max_page] || 25
|
12
|
+
|
13
|
+
(min_page..max_page).each do |page|
|
14
|
+
start_val = (page - 1) * 24
|
15
|
+
|
16
|
+
url = "https://play.google.com/store/search?"
|
17
|
+
url << "q=#{URI.escape(identifier)}&"
|
18
|
+
url << "c=apps&start=#{start_val}&"
|
19
|
+
url << "num=24"
|
20
|
+
|
21
|
+
results << url
|
22
|
+
end
|
23
|
+
|
24
|
+
results
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
data/market_bot.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "market_bot"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.6.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Chad Remesch"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-07-08"
|
13
13
|
s.description = "Market Bot is a high performance Ruby scraper for Google's Android Market with a simple to use API. It is built on top of Nokogiri and Typhoeus."
|
14
14
|
s.email = "chad@remesch.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
".rspec",
|
22
22
|
"Gemfile",
|
23
23
|
"Gemfile.lock",
|
24
|
+
"Guardfile",
|
24
25
|
"LICENSE.txt",
|
25
26
|
"NOTES.txt",
|
26
27
|
"README.markdown",
|
@@ -30,6 +31,7 @@ Gem::Specification.new do |s|
|
|
30
31
|
"lib/market_bot/android/app.rb",
|
31
32
|
"lib/market_bot/android/leaderboard.rb",
|
32
33
|
"lib/market_bot/android/leaderboard/constants.rb",
|
34
|
+
"lib/market_bot/android/search_query.rb",
|
33
35
|
"market_bot.gemspec",
|
34
36
|
"spec/market_bot/android/app_spec.rb",
|
35
37
|
"spec/market_bot/android/data/app_1.txt",
|
@@ -41,6 +43,7 @@ Gem::Specification.new do |s|
|
|
41
43
|
"spec/market_bot/android/data/leaderboard-apps_topselling_paid-page3.txt",
|
42
44
|
"spec/market_bot/android/data/leaderboard-apps_topselling_paid-page4.txt",
|
43
45
|
"spec/market_bot/android/leaderboard_spec.rb",
|
46
|
+
"spec/market_bot/android/search_query_spec.rb",
|
44
47
|
"spec/market_bot_spec.rb",
|
45
48
|
"spec/spec_helper.rb"
|
46
49
|
]
|
@@ -60,8 +63,10 @@ Gem::Specification.new do |s|
|
|
60
63
|
s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
|
61
64
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
62
65
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
63
|
-
s.add_development_dependency(%q<ZenTest>, ["~> 4.6.2"])
|
64
66
|
s.add_development_dependency(%q<rdoc>, [">= 3.9.4"])
|
67
|
+
s.add_development_dependency(%q<guard>, ["~> 1.2.3"])
|
68
|
+
s.add_development_dependency(%q<guard-rspec>, ["~> 1.1.0"])
|
69
|
+
s.add_development_dependency(%q<growl>, [">= 0"])
|
65
70
|
s.add_development_dependency(%q<debugger>, [">= 0"])
|
66
71
|
else
|
67
72
|
s.add_dependency(%q<typhoeus>, [">= 0"])
|
@@ -70,8 +75,10 @@ Gem::Specification.new do |s|
|
|
70
75
|
s.add_dependency(%q<bundler>, ["~> 1.1.0"])
|
71
76
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
72
77
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
73
|
-
s.add_dependency(%q<ZenTest>, ["~> 4.6.2"])
|
74
78
|
s.add_dependency(%q<rdoc>, [">= 3.9.4"])
|
79
|
+
s.add_dependency(%q<guard>, ["~> 1.2.3"])
|
80
|
+
s.add_dependency(%q<guard-rspec>, ["~> 1.1.0"])
|
81
|
+
s.add_dependency(%q<growl>, [">= 0"])
|
75
82
|
s.add_dependency(%q<debugger>, [">= 0"])
|
76
83
|
end
|
77
84
|
else
|
@@ -81,8 +88,10 @@ Gem::Specification.new do |s|
|
|
81
88
|
s.add_dependency(%q<bundler>, ["~> 1.1.0"])
|
82
89
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
83
90
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
84
|
-
s.add_dependency(%q<ZenTest>, ["~> 4.6.2"])
|
85
91
|
s.add_dependency(%q<rdoc>, [">= 3.9.4"])
|
92
|
+
s.add_dependency(%q<guard>, ["~> 1.2.3"])
|
93
|
+
s.add_dependency(%q<guard-rspec>, ["~> 1.1.0"])
|
94
|
+
s.add_dependency(%q<growl>, [">= 0"])
|
86
95
|
s.add_dependency(%q<debugger>, [">= 0"])
|
87
96
|
end
|
88
97
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: market_bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: typhoeus
|
@@ -108,13 +108,29 @@ dependencies:
|
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
111
|
+
name: rdoc
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 3.9.4
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 3.9.4
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: guard
|
112
128
|
requirement: !ruby/object:Gem::Requirement
|
113
129
|
none: false
|
114
130
|
requirements:
|
115
131
|
- - ~>
|
116
132
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
133
|
+
version: 1.2.3
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,15 +138,31 @@ dependencies:
|
|
122
138
|
requirements:
|
123
139
|
- - ~>
|
124
140
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
141
|
+
version: 1.2.3
|
126
142
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
143
|
+
name: guard-rspec
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 1.1.0
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 1.1.0
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: growl
|
128
160
|
requirement: !ruby/object:Gem::Requirement
|
129
161
|
none: false
|
130
162
|
requirements:
|
131
163
|
- - ! '>='
|
132
164
|
- !ruby/object:Gem::Version
|
133
|
-
version:
|
165
|
+
version: '0'
|
134
166
|
type: :development
|
135
167
|
prerelease: false
|
136
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -138,7 +170,7 @@ dependencies:
|
|
138
170
|
requirements:
|
139
171
|
- - ! '>='
|
140
172
|
- !ruby/object:Gem::Version
|
141
|
-
version:
|
173
|
+
version: '0'
|
142
174
|
- !ruby/object:Gem::Dependency
|
143
175
|
name: debugger
|
144
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,6 +200,7 @@ files:
|
|
168
200
|
- .rspec
|
169
201
|
- Gemfile
|
170
202
|
- Gemfile.lock
|
203
|
+
- Guardfile
|
171
204
|
- LICENSE.txt
|
172
205
|
- NOTES.txt
|
173
206
|
- README.markdown
|
@@ -177,6 +210,7 @@ files:
|
|
177
210
|
- lib/market_bot/android/app.rb
|
178
211
|
- lib/market_bot/android/leaderboard.rb
|
179
212
|
- lib/market_bot/android/leaderboard/constants.rb
|
213
|
+
- lib/market_bot/android/search_query.rb
|
180
214
|
- market_bot.gemspec
|
181
215
|
- spec/market_bot/android/app_spec.rb
|
182
216
|
- spec/market_bot/android/data/app_1.txt
|
@@ -188,6 +222,7 @@ files:
|
|
188
222
|
- spec/market_bot/android/data/leaderboard-apps_topselling_paid-page3.txt
|
189
223
|
- spec/market_bot/android/data/leaderboard-apps_topselling_paid-page4.txt
|
190
224
|
- spec/market_bot/android/leaderboard_spec.rb
|
225
|
+
- spec/market_bot/android/search_query_spec.rb
|
191
226
|
- spec/market_bot_spec.rb
|
192
227
|
- spec/spec_helper.rb
|
193
228
|
homepage: http://github.com/chadrem/market_bot
|
@@ -205,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
240
|
version: '0'
|
206
241
|
segments:
|
207
242
|
- 0
|
208
|
-
hash: -
|
243
|
+
hash: -476793173009451018
|
209
244
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
245
|
none: false
|
211
246
|
requirements:
|