insta_scraper 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -6
- data/lib/insta_scraper.rb +2 -0
- data/lib/insta_scraper/html/account.rb +2 -2
- data/lib/insta_scraper/html/media.rb +2 -2
- data/lib/insta_scraper/json/account.rb +20 -0
- data/lib/insta_scraper/json/account_media.rb +2 -2
- data/lib/insta_scraper/json/media.rb +20 -0
- data/lib/insta_scraper/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd5b2c8af580a250067e968228b484d4db4df459
|
4
|
+
data.tar.gz: 712469af54dff0096356c8acc6ac4106fa9ecb07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4df4e13a86228612686e32b2f8f40daaa6b4fef15017916ec3d6e8032d2420f5a4a4f89e1d05b86558f9b285b613973acfe5bbd92da6bf9c65217d298bcbde82
|
7
|
+
data.tar.gz: 3645e3cded752becd229fd2c83054becaff4706089c27d58473aef108068b381dd3e3e2f9221a60d9484977b17a38b238d36564bf9745b6ba1b3d14619f0fafa
|
data/README.md
CHANGED
@@ -28,8 +28,8 @@ Subclasses of InstaScraper::JSON are scraping json endpoints.
|
|
28
28
|
```ruby
|
29
29
|
account = InstaScraper::HTML::Account.new('barna.kovacs.codes')
|
30
30
|
|
31
|
-
account.
|
32
|
-
account.
|
31
|
+
account.data #=> #<Hashie::Mash...
|
32
|
+
account.data.deep_find('followed_by').fetch('count') #=> 4
|
33
33
|
```
|
34
34
|
|
35
35
|
* InstaScraper::HTML::Media
|
@@ -37,8 +37,8 @@ account.json.deep_find('followed_by').fetch('count') #=> 4
|
|
37
37
|
```ruby
|
38
38
|
media = InstaScraper::HTML::Media.new('BGFVAPPIaBQ')
|
39
39
|
|
40
|
-
media.
|
41
|
-
media.
|
40
|
+
media.data #=> #<Hashie::Mash...
|
41
|
+
media.data.deep_find('comments').fetch('count') #=> 1892
|
42
42
|
```
|
43
43
|
|
44
44
|
* InstaScraper::JSON::AccountMedia
|
@@ -46,8 +46,8 @@ media.json.deep_find('comments').fetch('count') #=> 1892
|
|
46
46
|
```ruby
|
47
47
|
account_media = InstaScraper::JSON::AccountMedia.new('barna.kovacs.codes')
|
48
48
|
|
49
|
-
account_media.
|
50
|
-
account_media.
|
49
|
+
account_media.data #=> #<Hashie::Mash...
|
50
|
+
account_media.data.fetch('items') #=> [...]
|
51
51
|
```
|
52
52
|
|
53
53
|
## Development
|
data/lib/insta_scraper.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
module InstaScraper
|
2
|
+
class JSON::Account < InstaScraper::JSON
|
3
|
+
attr_reader :username
|
4
|
+
|
5
|
+
def initialize(username)
|
6
|
+
@username = username
|
7
|
+
end
|
8
|
+
|
9
|
+
def url
|
10
|
+
"https://www.instagram.com/#{username}/?__a=1"
|
11
|
+
end
|
12
|
+
|
13
|
+
def data
|
14
|
+
@data ||=
|
15
|
+
Hashie::Mash.new(::JSON.parse(raw_json))
|
16
|
+
.extend(Hashie::Extensions::DeepFetch)
|
17
|
+
.extend(Hashie::Extensions::DeepFind)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -10,8 +10,8 @@ module InstaScraper
|
|
10
10
|
"https://www.instagram.com/#{username}/media/"
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
14
|
-
@
|
13
|
+
def data
|
14
|
+
@data ||=
|
15
15
|
Hashie::Mash.new(::JSON.parse(raw_json))
|
16
16
|
.extend(Hashie::Extensions::DeepFetch)
|
17
17
|
.extend(Hashie::Extensions::DeepFind)
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module InstaScraper
|
2
|
+
class JSON::Media < InstaScraper::JSON
|
3
|
+
attr_reader :code
|
4
|
+
|
5
|
+
def initialize(code)
|
6
|
+
@code = code
|
7
|
+
end
|
8
|
+
|
9
|
+
def url
|
10
|
+
"https://www.instagram.com/p/#{code}/?__a=1"
|
11
|
+
end
|
12
|
+
|
13
|
+
def data
|
14
|
+
@data ||=
|
15
|
+
Hashie::Mash.new(::JSON.parse(raw_json))
|
16
|
+
.extend(Hashie::Extensions::DeepFetch)
|
17
|
+
.extend(Hashie::Extensions::DeepFind)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: insta_scraper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- preciz
|
@@ -86,7 +86,9 @@ files:
|
|
86
86
|
- lib/insta_scraper/html/account.rb
|
87
87
|
- lib/insta_scraper/html/media.rb
|
88
88
|
- lib/insta_scraper/json.rb
|
89
|
+
- lib/insta_scraper/json/account.rb
|
89
90
|
- lib/insta_scraper/json/account_media.rb
|
91
|
+
- lib/insta_scraper/json/media.rb
|
90
92
|
- lib/insta_scraper/version.rb
|
91
93
|
homepage:
|
92
94
|
licenses:
|