instagram_user 0.1.2 → 1.0.0

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 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