cafe_buy_duo 0.0.13 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cafe_buy_duo.rb +84 -51
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5eb3fe7832522e711e10227fd0a1a4f266272fd21c7bf66bd1d6b1643a66e59f
4
- data.tar.gz: a48720614d40f126b29d7984f95e28d5171b41f4917e517411996375a23b551d
3
+ metadata.gz: 36b4b834d11812846aac4f7ffcf7e25dd1acf42c42208b10c0028ca4933a82d7
4
+ data.tar.gz: 5b1386b8aa40d9c57677e36ca0b34fc41711bb7417c97e386927e31873116e4b
5
5
  SHA512:
6
- metadata.gz: 6674b922841cbaa739d2f3c71dbb7a4e1269540d6bfd30098c7be56637fc2e5b432afed800a765216f152c2140fb8cbf97232d9b6bbd3697c3abfe57b0b3b7e2
7
- data.tar.gz: 2157c6d4ed2d9877d949ed7bfb8c00d07d2daebe07ba1cbf51af611467ae9b98e06324ffe5ad4ad33f5d87dc9f7deb4a6fec4f89a27d95d702666f0acf47190b
6
+ metadata.gz: 2e59c88da41c5cfe8e445c65c77995c39d13adfc9cefb6eeb64a79b94e35a3868aa43bb7a6e5591f89a93c698ff7ccec3dbc5b6632a8e674fd5511815f61b49a
7
+ data.tar.gz: 48410279650ff588a39632266ec8f8b1a62922816b483ac413d2b8117ee54a3073f63bc2b2be2857fe2c50a435ab95fbbf565d81b75b9c4da06fa3fd036d5df3
data/lib/cafe_buy_duo.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'glimmer-dsl-libui'
2
2
  require 'selenium-webdriver'
3
- # require 'webdrivers'
3
+ require 'webdrivers'
4
4
  require 'iconv'
5
5
  require 'nokogiri'
6
6
  require 'http'
@@ -219,55 +219,71 @@ class Naver
219
219
  def chrome_start(proxy, user_id)
220
220
  naver_cookie_dir = "C:/naver_cookie"
221
221
  FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
222
+
222
223
  if proxy == ''
223
- begin
224
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
225
- options = Selenium::WebDriver::Chrome::Options.new
226
- options.page_load_strategy = :normal
227
- options.timeouts = {page_load: 20_000}
228
- options.page_load_strategy = 'none'
229
- options.add_argument('--remote-debugging-port=9222')
230
- options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
231
- @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
232
- rescue
233
- @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
234
- end
224
+ begin
225
+ # webdrivers Gem이 크롬 드라이버 자동 다운로드 및 설정을 관리함
226
+ options = Selenium::WebDriver::Chrome::Options.new
227
+ options.page_load_strategy = :normal
228
+ options.timeouts = { page_load: 20_000 }
229
+ options.page_load_strategy = 'none'
230
+ options.add_argument('--disable-blink-features=AutomationControlled') #자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
231
+
232
+
233
+
234
+ options.add_argument('--remote-debugging-port=9222')
235
+ options.add_argument("user-data-dir=#{naver_cookie_dir}/#{user_id}")
236
+
237
+ # :capabilities에 options를 배열로 전달
238
+ capabilities = [options]
239
+
240
+ # Selenium WebDriver에서 options를 capabilities로 전달
241
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
242
+ rescue
243
+ # 예외 발생 시 다른 방법으로 셀레니움 실행
244
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
245
+ end
235
246
  else
247
+ begin
248
+ # Proxy를 사용하는 경우
249
+ options = Selenium::WebDriver::Chrome::Options.new
250
+ options.add_argument '--proxy-server=' + proxy.to_s.force_encoding('utf-8')
251
+ options.page_load_strategy = :normal
252
+ options.timeouts = { page_load: 20_000 }
253
+ options.page_load_strategy = 'none'
254
+ options.add_argument('--disable-blink-features=AutomationControlled') #자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
255
+
256
+ options.add_argument('--remote-debugging-port=9222')
257
+ options.add_argument("user-data-dir=#{naver_cookie_dir}/#{user_id}")
258
+
259
+ # :capabilities에 options를 배열로 전달
260
+ capabilities = [options]
261
+
262
+ # Selenium WebDriver에서 options를 capabilities로 전달
263
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
264
+ rescue => e
265
+ puts 'proxy error...'
236
266
  begin
237
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
238
- options = Selenium::WebDriver::Chrome::Options.new
239
- # profile = Selenium::WebDriver::Chrome::Profile.new
240
- # profile['network.proxy.type'] = 1
241
- # profile['network.proxy.http'] = proxy.split(':')[0]
242
- # profile['network.proxy.http_port'] = proxy.split(':')[1].to_i
243
- # options = Selenium::WebDriver::Chrome::Options.new
244
- # options.profile = profile
245
- options = Selenium::WebDriver::Chrome::Options.new
246
- options.add_argument '--proxy-server='+proxy.to_s.force_encoding('utf-8').to_s
247
- options.page_load_strategy = :normal
248
- options.timeouts = {page_load: 20_000}
249
- options.page_load_strategy = 'none'
250
- options.add_argument('--remote-debugging-port=9222')
251
- options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
252
- @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
253
- rescue => e
254
- puts e
255
- puts 'proxy error...'
256
- begin
257
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
258
- options = Selenium::WebDriver::Chrome::Options.new
259
- options.page_load_strategy = :normal
260
- options.timeouts = {page_load: 20_000}
261
- options.page_load_strategy = 'none'
262
- options.add_argument('--remote-debugging-port=9222')
263
- options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
264
- @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
265
- rescue
266
- @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
267
- end
267
+ # Proxy가 실패할 경우 예외 처리
268
+ options = Selenium::WebDriver::Chrome::Options.new
269
+ options.page_load_strategy = :normal
270
+ options.timeouts = { page_load: 20_000 }
271
+ options.page_load_strategy = 'none'
272
+ options.add_argument('--disable-blink-features=AutomationControlled') #자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
273
+ options.add_argument('--remote-debugging-port=9222')
274
+ options.add_argument("user-data-dir=#{naver_cookie_dir}/#{user_id}")
275
+
276
+ # :capabilities에 options 배열로 전달
277
+ capabilities = [options]
278
+
279
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
280
+ rescue
281
+ # 예외 발생 시 다른 방법으로 셀레니움 실행
282
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
268
283
  end
284
+ end
269
285
  end
270
- end
286
+ end
271
287
 
272
288
 
273
289
 
@@ -1951,10 +1967,18 @@ class Wordpress
1951
1967
 
1952
1968
  def get_naver_text(q)
1953
1969
  begin
1954
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1955
- @driver = Selenium::WebDriver.for :chrome
1970
+ #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1971
+ options = Selenium::WebDriver::Chrome::Options.new
1972
+ capabilities = [options]
1973
+
1974
+ # Selenium WebDriver에서 options를 capabilities로 전달
1975
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1956
1976
  rescue
1957
- @driver = Selenium::WebDriver.for :chrome
1977
+ # :capabilities에 options를 배열로 전달
1978
+ capabilities = [options]
1979
+
1980
+ # Selenium WebDriver에서 options를 capabilities로 전달
1981
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1958
1982
  end
1959
1983
  @driver.get('https://search.naver.com/search.naver?display=15&f=&filetype=0&page=3&query='+q.to_s+'&research_url=&sm=tab_pge&start=16&where=web')
1960
1984
  noko = Nokogiri::HTML(@driver.page_source)
@@ -1984,10 +2008,18 @@ class Wordpress
1984
2008
 
1985
2009
  def get_naver_text2(keyword)
1986
2010
  begin
1987
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1988
- @driver = Selenium::WebDriver.for :chrome
2011
+ #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
2012
+ options = Selenium::WebDriver::Chrome::Options.new
2013
+ capabilities = [options]
2014
+
2015
+ # Selenium WebDriver에서 options를 capabilities로 전달
2016
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1989
2017
  rescue
1990
- @driver = Selenium::WebDriver.for :chrome
2018
+ # :capabilities에 options를 배열로 전달
2019
+ capabilities = [options]
2020
+
2021
+ # Selenium WebDriver에서 options를 capabilities로 전달
2022
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1991
2023
  end
1992
2024
  @driver.get('https://search.naver.com/search.naver?ssc=tab.blog.all&sm=tab_jum&query='+keyword.to_s)
1993
2025
  for n3 in 1..10
@@ -2024,6 +2056,7 @@ class Wordpress
2024
2056
 
2025
2057
 
2026
2058
 
2059
+
2027
2060
  #def chrome_start(url, user_id, user_pw)
2028
2061
  # @url = url
2029
2062
  # @user_id = user_id
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_buy_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-06 00:00:00.000000000 Z
11
+ date: 2025-01-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com