instagram_user 0.1.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 395fc13b93a50fa026b63b06ebef8ec4a0ea6aa1807bf5fb65b4e25c7db34f4d
4
- data.tar.gz: 8511e7ee0deca25b3b4a9f1d1562c17755bbe77de87af62ac517d46153f8ba8b
3
+ metadata.gz: dcd1fb801da58a3fa43d84feca7a3bcd5b4d0b713ccd5f2c1bb0899a1d5589be
4
+ data.tar.gz: 25b98881499d8f7d85ed72bc7f5bff8f410cf9eb53c031f5dc1b7bc9aa24fea2
5
5
  SHA512:
6
- metadata.gz: 6026802ae89b4fc471f6710747aa00a6f0ada1ec7b7dd15e86d52b351b761fba573f08da07a0759b2e69f56eb3d83e841afe76c45c61e8e32ae29305d4d0549c
7
- data.tar.gz: 34e00dc9fc9663a714cb099ee8e89fdbc73944da2774ef0c14e752210935d4272d3232cacc6e31a009dfad3af99f67e7f673f21e313e8cafb9c0a6bf83df8f46
6
+ metadata.gz: 91c9dbe134413dc9fcc0a151e75de90bd0cc35bade7410cee8573b03131ae0a27f3926c5c0e373269fcefb29ed97a60352f6e3504ab52d93d9b78042ced6c9bd
7
+ data.tar.gz: 98e037164f0b8b8ba691b48562d0772343cd3b351226d85a275169aa71829c9982b71049535d93569b7282b90be2dfd7bb0618f9d471bb819e8065180d9b2d07
@@ -1,10 +1,18 @@
1
- sudo: false
1
+ sudo: required
2
+ dist: trusty
2
3
  language: ruby
3
- script: bundle exec rake ci
4
4
  rvm:
5
5
  - 2.1.0
6
6
  - 2.2.0
7
7
  - 2.3.0
8
8
  - 2.4.0
9
9
  - 2.5.0
10
- before_install: gem install bundler -v 1.15.4
10
+ before_install:
11
+ - gem install bundler -v 1.15.4
12
+ - sudo apt-get update
13
+ - sudo apt-get install chromium-chromedriver
14
+ before_script:
15
+ - "export PATH=$PATH:/usr/lib/chromium-browser/"
16
+ - "export DISPLAY=:99.0"
17
+ - "sh -e /etc/init.d/xvfb start"
18
+ - sleep 3 # give xvfb some time to start
@@ -2,6 +2,7 @@ require 'mechanize'
2
2
  require 'selenium-webdriver'
3
3
  require 'json'
4
4
  require 'instagram_user/version'
5
+ require 'pry'
5
6
 
6
7
  module InstagramUser
7
8
  class Client
@@ -60,7 +61,7 @@ module InstagramUser
60
61
  @driver.find_element(:xpath, '//article//button').click
61
62
  sleep(2)
62
63
 
63
- @driver.get "https://www.instagram.com/#{name.user_name}"
64
+ @driver.get "https://www.instagram.com/#{user_name}"
64
65
  @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
65
66
  color = @driver.find_element(:xpath, '//article//button').css_value("color")
66
67
  (color == "rgba(255, 255, 255, 1)") ? false : true
@@ -80,19 +81,28 @@ module InstagramUser
80
81
  @driver.find_element(:xpath, '//article//button').click
81
82
  sleep(2)
82
83
 
83
- @driver.get "https://www.instagram.com/#{name.user_name}"
84
+ @driver.get "https://www.instagram.com/#{user_name}"
84
85
  @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
85
86
  color = @driver.find_element(:xpath, '//article//button').css_value("color")
86
87
  (color != "rgba(255, 255, 255, 1)") ? false : true
87
88
  end
88
89
 
90
+ def get_cookies_d
91
+ @driver.manage.all_cookies
92
+ end
93
+
94
+ def get_cookies_s
95
+ @session.cookie_jar.cookies
96
+ end
97
+
89
98
  private
90
99
 
91
100
  def selenium_setting
92
101
  options = Selenium::WebDriver::Chrome::Options.new
93
102
  options.add_argument("--user-agent=#{@user_agent}")
94
- #options.add_argument('--headless')
103
+ options.add_argument('--headless')
95
104
  @driver = Selenium::WebDriver.for :chrome, options: options
105
+ @driver.get 'https://www.instagram.com/'
96
106
  @session.cookie_jar.cookies.each do |c|
97
107
  cookie_hash = {
98
108
  name: c.name,
@@ -103,7 +113,10 @@ module InstagramUser
103
113
  domain: c.domain,
104
114
  for_domain: c.for_domain,
105
115
  httponly: c.httponly,
106
- max_age: c.max_age
116
+ max_age: c.max_age,
117
+ created_at: c.created_at,
118
+ accessed_at: c.accessed_at,
119
+ origin: c.origin.to_s
107
120
  }
108
121
  @driver.manage.add_cookie(cookie_hash)
109
122
  end
@@ -114,7 +127,7 @@ module InstagramUser
114
127
  url = format USER_INFO_URL, user_name
115
128
  page = @session.get(url)
116
129
  json = JSON.parse(page.body)
117
- @user_ids[user_name] = json["user"]["id"]
130
+ @user_ids[user_name] = json["graphql"]["user"]["id"]
118
131
  @user_ids[user_name]
119
132
  end
120
133
 
@@ -1,3 +1,3 @@
1
1
  module InstagramUser
2
- VERSION = "0.1.2".freeze
2
+ VERSION = "1.0.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instagram_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuzuru Suzuki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-04 00:00:00.000000000 Z
11
+ date: 2018-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize