module SocialProfile::RubyInstagramScraper

Constants

BASE_URL

Public Class Methods

get_media( code ) click to toggle source
# File lib/social_profile/ruby-instagram-scraper.rb, line 42
def self.get_media ( code )
  url = "#{BASE_URL}/p/#{ code }/?__a=1"
  params = ""

  JSON.parse( open( "#{url}#{params}" ).read )["media"]
end
get_media_comments( shortcode, count = 40, before = nil ) click to toggle source
# File lib/social_profile/ruby-instagram-scraper.rb, line 49
def self.get_media_comments ( shortcode, count = 40, before = nil )
  params = before.nil?? "comments.last(#{ count })" : "comments.before( #{ before } , #{count})"
  url = "#{BASE_URL}/query/?q=ig_shortcode(#{ shortcode }){#{ params }\
    {count,nodes{id,created_at,text,user{id,profile_pic_url,username,\
    follows{count},followed_by{count},biography,full_name,media{count},\
    is_private,external_url,is_verified}},page_info}}"

  JSON.parse( open( url ).read )["comments"]
end
get_tag_media_nodes( tag, max_id = nil ) click to toggle source
# File lib/social_profile/ruby-instagram-scraper.rb, line 34
def self.get_tag_media_nodes ( tag, max_id = nil )
  url = "#{BASE_URL}/explore/tags/#{ tag }/?__a=1"
  params = ""
  params = "&max_id=#{ max_id }" if max_id

  JSON.parse( open( "#{url}#{params}" ).read )["tag"]["media"]["nodes"]
end
get_user( username, max_id = nil ) click to toggle source
# File lib/social_profile/ruby-instagram-scraper.rb, line 26
def self.get_user ( username, max_id = nil )
  url = "#{BASE_URL}/#{ username }/?__a=1"
  params = ""
  params = "&max_id=#{ max_id }" if max_id

  JSON.parse( open( "#{url}#{params}" ).read )["user"]
end
get_user_media_nodes( username, max_id = nil ) click to toggle source
# File lib/social_profile/ruby-instagram-scraper.rb, line 18
def self.get_user_media_nodes ( username, max_id = nil )
  url = "#{BASE_URL}/#{ username }/media/"
  params = ""
  params = "?max_id=#{ max_id }" if max_id

  JSON.parse( open( "#{url}#{params}" ).read )
end