google_play_search 0.0.13 → 0.0.14
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 +4 -4
- data/lib/google_play_search/app.rb +35 -1
- data/lib/google_play_search/app_parser.rb +0 -7
- data/lib/google_play_search/review.rb +5 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf7c31a06fe864d133224e62a0cf97a21ce24922
|
4
|
+
data.tar.gz: 9c92cabac9058324ffde32430ee92744fc8f796f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf92ce8cd90750d47bae442505c43757d2e21696d8c8a031386eddb97d4dd41e7934c9e67adb2d599103211f37f75a504fc73b789b2b48635298de8d7e12c813
|
7
|
+
data.tar.gz: afbb51a30149912eb4c0616cc3e2e8a344437089dbe2727971aed6b02d7db818130db685766e9c0d59f4167d5a0c4f1233207790f32293e1da939d924813f145
|
@@ -1,10 +1,13 @@
|
|
1
1
|
require 'open-uri'
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/review')
|
3
|
+
|
2
4
|
module GooglePlaySearch
|
3
5
|
class App
|
4
6
|
attr_accessor :id, :name, :url, :developer, :category, :logo_url,
|
5
7
|
:short_description, :rating, :reviews, :price,
|
6
8
|
:version, :installs, :last_updated, :size,
|
7
|
-
:requires_android, :content_rating
|
9
|
+
:requires_android, :content_rating, :developer_website,
|
10
|
+
:developer_email, :developer_address
|
8
11
|
|
9
12
|
def get_all_details()
|
10
13
|
html = open(self.url).read()
|
@@ -17,6 +20,10 @@ module GooglePlaySearch
|
|
17
20
|
self.requires_android = get_requires_android(google_play_html)
|
18
21
|
self.content_rating = get_content_rating(google_play_html)
|
19
22
|
self.category = get_category(google_play_html)
|
23
|
+
self.developer_website = get_developer_website(google_play_html)
|
24
|
+
self.developer_email = get_developer_email(google_play_html)
|
25
|
+
self.developer_address = get_developer_address(google_play_html)
|
26
|
+
self.reviews = get_reviews(google_play_html)
|
20
27
|
self
|
21
28
|
rescue
|
22
29
|
self
|
@@ -51,5 +58,32 @@ module GooglePlaySearch
|
|
51
58
|
def get_category(google_play_html)
|
52
59
|
google_play_html.search("span[itemprop='genre']").first.content.strip
|
53
60
|
end
|
61
|
+
|
62
|
+
def get_developer_website(google_play_html)
|
63
|
+
url = google_play_html.search("a[class='dev-link']").first['href'].strip.gsub("https://www.google.com/url?q=", "")
|
64
|
+
url[0..(url.index("&") - 1)]
|
65
|
+
end
|
66
|
+
|
67
|
+
def get_developer_email(google_play_html)
|
68
|
+
google_play_html.search("a[class='dev-link']").last.content.strip.gsub("Email ", "")
|
69
|
+
end
|
70
|
+
|
71
|
+
def get_developer_address(google_play_html)
|
72
|
+
google_play_html.search("div[class='content physical-address']").first.content.strip
|
73
|
+
end
|
74
|
+
|
75
|
+
def get_reviews(google_play_html)
|
76
|
+
reviews = []
|
77
|
+
google_play_html.search("div[class='single-review']").each do |ele|
|
78
|
+
review = GooglePlaySearch::Review.new()
|
79
|
+
review.author_name = ele.search("span[class='author-name']").first.content.strip
|
80
|
+
review.author_avatar = ele.search("img[class='author-image']").first['src'].strip
|
81
|
+
review.review_title = ele.search("span[class='review-title']").first.content.strip
|
82
|
+
review.review_content = ele.search("div[class='review-body']").children[2].content.strip
|
83
|
+
review.star_rating = ele.search("div[class='tiny-star star-rating-non-editable-container']").first['aria-label'].scan(/\d/).first.to_i
|
84
|
+
reviews << review
|
85
|
+
end
|
86
|
+
reviews
|
87
|
+
end
|
54
88
|
end
|
55
89
|
end
|
@@ -78,13 +78,6 @@ module GooglePlaySearch
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
def get_app_reviews(app_content)
|
82
|
-
reviews = app_content.css("span.snippet-reviews")
|
83
|
-
if reviews && reviews.size > 0
|
84
|
-
reviews.first.content[1..-2].gsub(',','').to_i
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
81
|
def get_app_price(app_content)
|
89
82
|
prices = app_content.css("div.details span.price-container button.price span")
|
90
83
|
if prices and prices.first
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_play_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grant Chen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -33,6 +33,7 @@ files:
|
|
33
33
|
- lib/google_play_search.rb
|
34
34
|
- lib/google_play_search/app.rb
|
35
35
|
- lib/google_play_search/app_parser.rb
|
36
|
+
- lib/google_play_search/review.rb
|
36
37
|
- lib/google_play_search/search.rb
|
37
38
|
homepage: https://github.com/grantchen/google_play_search
|
38
39
|
licenses:
|