instagram_scraper 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a3d70c5f9ce199452babdceb380593e22ad86456
4
+ data.tar.gz: a087a5d3e973a0b254b9d210fea035c179b95896
5
+ SHA512:
6
+ metadata.gz: c55bf19cf498fd6d57ddb5935291bfa74908dbd60cd5bcead37e8f607417beaeb9066e70aa73944019c5972c5a4fe70f0e44e754660d5f73e386682b89889de1
7
+ data.tar.gz: 07d7eb31cab49d0dc40e310a3ef0b5d5b290547922c7768fe719e5dd1c3e5cecb8517e7f8a7b894b0abf3331dc282732e92dcb80473c64f1de76c63c3c7baa2e
@@ -0,0 +1,33 @@
1
+ class InstagramScraper
2
+ #code
3
+ def self.get_user_basic_json(name)
4
+ info_json = load_json("https://www.instagram.com/web/search/topsearch/?query=#{name}")
5
+ first_user = info_json['users'][0] unless info_json['users'].nil? || info_json['users'].empty?
6
+ user = first_user['user'] unless first_user.nil? || first_user['username'] == name
7
+ end
8
+
9
+ def self.load_json(url)
10
+ #code
11
+ JSON.load(open(url))
12
+ end
13
+
14
+ def self.load_media_json(name)
15
+ #code
16
+ media_json = load_json("https://www.instagram.com/#{name}/media")
17
+ end
18
+
19
+ def self.get(name)
20
+ basic_json = get_user_basic_json name
21
+ media_json = load_media_json name
22
+ @user = InstagramUser.new
23
+ @user.username = basic_json['username']
24
+ @user.follower_count = basic_json['follower_count']
25
+ @user.profile_pic_url = basic_json['profile_pic_url']
26
+ @user.is_private = basic_json['is_private']
27
+ @user.media_json = media_json
28
+ @user
29
+ end
30
+ end
31
+
32
+ require 'open-uri'
33
+ require "json"
@@ -0,0 +1,10 @@
1
+ class InstagramUser
2
+ attr_accessor :username, :follower_count, :is_private, :profile_pic_url, :media_json
3
+ def avg_likes
4
+ #code
5
+ items = @media_json['items']
6
+ total = items.length
7
+ sum_likes = items.inject(0){|s, post| s + post['likes']['count']}
8
+ @avg = sum_likes/total
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: instagram_scraper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - samwalker
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A instagram scraper to get user instagram data thought public api (search
14
+ and media)
15
+ email: samwalker505@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/instagram_scraper.rb
21
+ - lib/instagram_user.rb
22
+ homepage: http://samwalker505.github.io/
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.5.1
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: A instagram scraper to get user instagram data
46
+ test_files: []