cafe_buy_duo 0.0.17 → 0.0.20

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 +69 -89
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c84a17a17b46b73b6fe00583cd20cd2f883899767c4c9d710c7fc62b84feae3
4
- data.tar.gz: 4a7a591bd2e0332cdfb687d45c718bc20c0e950bcdea2502ff32778686ca931d
3
+ metadata.gz: 87786f441a7044cb3be9e2eaadef4cb4762ff6947d00f0eff69dfd3443579dbe
4
+ data.tar.gz: 5c96007b5042b03417c11f727ff94affe5427c42b54ceb66741ef9e8588b635f
5
5
  SHA512:
6
- metadata.gz: 30188cfdc3e2afc3809eed75168a25f571e6926eebae2f90abe0fb33a7192a4abd19b2bfe2f1f6b2de42d40e2707e657676a19771492133e78c898aee8a4b54b
7
- data.tar.gz: 405ace79597e148618b647c1ef685e152665e1128ea99102a6be0077e286039da1da49089454e657ce27d31b3666a3f8fa7242186771db35bcbbb33fb22702e0
6
+ metadata.gz: 9cd86369bea1d10f0f2c00e882ddee9d9f16b2fe750cf71fcdc5bbbb0379bb0e8322dbef05de3976391ba2b07ddf74b7efec1f04b735fab969679e029aa2089e
7
+ data.tar.gz: 4bba76633573e654cc2463eaba7be9612ee98c1618b6328732293a22582b969a1181b3427a320d18a52eb68603a6e500383a8486141118a4dd58bdc97cb7cfbf
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,71 +219,61 @@ 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
-
223
222
  if proxy == ''
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
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...'
266
223
  begin
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)
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('--disable-blink-features=AutomationControlled') #자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
230
+ options.add_argument('--disable-gpu')
231
+ options.add_argument('--remote-debugging-port=9222')
232
+ options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
233
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
280
234
  rescue
281
- # 예외 발생 다른 방법으로 셀레니움 실행
282
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
235
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
236
+ end
237
+ else
238
+ begin
239
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
240
+ options = Selenium::WebDriver::Chrome::Options.new
241
+ # profile = Selenium::WebDriver::Chrome::Profile.new
242
+ # profile['network.proxy.type'] = 1
243
+ # profile['network.proxy.http'] = proxy.split(':')[0]
244
+ # profile['network.proxy.http_port'] = proxy.split(':')[1].to_i
245
+ # options = Selenium::WebDriver::Chrome::Options.new
246
+ # options.profile = profile
247
+ options = Selenium::WebDriver::Chrome::Options.new
248
+ options.add_argument '--proxy-server='+proxy.to_s.force_encoding('utf-8').to_s
249
+ options.page_load_strategy = :normal
250
+ options.timeouts = {page_load: 20_000}
251
+ options.page_load_strategy = 'none'
252
+ options.add_argument('--disable-blink-features=AutomationControlled') #자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
253
+ options.add_argument('--disable-gpu')
254
+ options.add_argument('--remote-debugging-port=9222')
255
+ options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
256
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
257
+ rescue => e
258
+ puts e
259
+ puts 'proxy error...'
260
+ begin
261
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
262
+ options = Selenium::WebDriver::Chrome::Options.new
263
+ options.page_load_strategy = :normal
264
+ options.timeouts = {page_load: 20_000}
265
+ options.page_load_strategy = 'none'
266
+ options.add_argument('--disable-blink-features=AutomationControlled') #자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
267
+ options.add_argument('--disable-gpu')
268
+ options.add_argument('--remote-debugging-port=9222')
269
+ options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
270
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
271
+ rescue
272
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
273
+ end
283
274
  end
284
- end
285
275
  end
286
- end
276
+ end
287
277
 
288
278
 
289
279
 
@@ -1693,28 +1683,31 @@ end
1693
1683
  puts '댓글허용'
1694
1684
  begin
1695
1685
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[2]/div[2]/div[3]/ul/li[1]/div/label').click
1686
+ sleep(1)
1696
1687
 
1697
1688
  rescue
1698
1689
 
1699
1690
  end
1700
1691
  end
1701
1692
 
1702
- sleep(1)
1693
+
1703
1694
  if option['블로그,카페 공유허용'] == 'true'
1704
1695
  puts '블로그,카페 공유허용'
1705
1696
  begin
1706
1697
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[2]/div[2]/div[3]/ul/li[2]/div[1]/label').click
1698
+ sleep(1)
1707
1699
  rescue
1708
1700
 
1709
1701
  end
1710
1702
  end
1711
1703
 
1712
1704
 
1713
- sleep(1)
1705
+
1714
1706
  if option['외부공유허용'] == 'true'
1715
1707
  puts '외부공유허용'
1716
1708
  begin
1717
1709
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[2]/div[2]/div[3]/ul/li[3]/div[1]/label').click
1710
+ sleep(1)
1718
1711
  rescue
1719
1712
 
1720
1713
  end
@@ -1726,38 +1719,41 @@ end
1726
1719
  puts '복사,저장 허용'
1727
1720
  begin
1728
1721
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[2]/div[2]/div[3]/ul/li[4]/div[1]/label').click
1722
+ sleep(1)
1729
1723
  rescue
1730
1724
 
1731
1725
  end
1732
1726
  end
1733
1727
 
1734
- sleep(1)
1728
+
1735
1729
  if option['자동출처 사용'] == 'true'
1736
1730
  puts '자동출처 사용'
1737
1731
  begin
1738
1732
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[2]/div[2]/div[3]/ul/li[5]/div[1]/label').click
1733
+ sleep(1)
1739
1734
  rescue
1740
1735
 
1741
1736
  end
1742
1737
  end
1743
1738
 
1744
- sleep(1)
1739
+
1745
1740
 
1746
1741
  if option['CCL 사용'] == 'true'
1747
1742
  puts 'CCL 사용'
1748
1743
  begin
1749
1744
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[2]/div[2]/div[3]/ul/li[6]/div[1]/label').click
1745
+ sleep(1)
1750
1746
  rescue
1751
1747
 
1752
1748
  end
1753
1749
  end
1754
- sleep(1)
1750
+
1755
1751
  # puts data['documentModel'] = data['documentModel'].to_json
1756
1752
  sleep(2)
1757
1753
  sleep(dd_time.to_i)
1758
1754
  @driver.find_element(:xpath, '/html/body/div[1]/div/div/section/div/div[1]/div/a').click
1759
1755
 
1760
- sleep(10)
1756
+ sleep(7)
1761
1757
 
1762
1758
 
1763
1759
  begin
@@ -1969,18 +1965,10 @@ class Wordpress
1969
1965
 
1970
1966
  def get_naver_text(q)
1971
1967
  begin
1972
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1973
- options = Selenium::WebDriver::Chrome::Options.new
1974
- capabilities = [options]
1975
-
1976
- # Selenium WebDriver에서 options를 capabilities로 전달
1977
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1968
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1969
+ @driver = Selenium::WebDriver.for :chrome
1978
1970
  rescue
1979
- # :capabilities에 options를 배열로 전달
1980
- capabilities = [options]
1981
-
1982
- # Selenium WebDriver에서 options를 capabilities로 전달
1983
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1971
+ @driver = Selenium::WebDriver.for :chrome
1984
1972
  end
1985
1973
  @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')
1986
1974
  noko = Nokogiri::HTML(@driver.page_source)
@@ -2010,18 +1998,10 @@ class Wordpress
2010
1998
 
2011
1999
  def get_naver_text2(keyword)
2012
2000
  begin
2013
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
2014
- options = Selenium::WebDriver::Chrome::Options.new
2015
- capabilities = [options]
2016
-
2017
- # Selenium WebDriver에서 options를 capabilities로 전달
2018
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
2001
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
2002
+ @driver = Selenium::WebDriver.for :chrome
2019
2003
  rescue
2020
- # :capabilities에 options를 배열로 전달
2021
- capabilities = [options]
2022
-
2023
- # Selenium WebDriver에서 options를 capabilities로 전달
2024
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
2004
+ @driver = Selenium::WebDriver.for :chrome
2025
2005
  end
2026
2006
  @driver.get('https://search.naver.com/search.naver?ssc=tab.blog.all&sm=tab_jum&query='+keyword.to_s)
2027
2007
  for n3 in 1..10
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.17
4
+ version: 0.0.20
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-10 00:00:00.000000000 Z
11
+ date: 2025-01-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com