cafe_basics 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_basics.rb +83 -64
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7baec420eb1e6e2314695f6d00f1b4f8a17ecd15e91154308c9caa885a22410
4
- data.tar.gz: 05ecfa5bf82804f8ea6317726bc7f00f6a1f94e6fbe6bd06a0ea0180816c47d8
3
+ metadata.gz: 67b94c083f63b91262a70afdb3c0456e140622b7f213e03705578daae7570a43
4
+ data.tar.gz: 69acbee14d09707ba0d6cc90e7961eeb1d49899f4e859f8627094230d3db0863
5
5
  SHA512:
6
- metadata.gz: 6b761dc8b152f0ecde740622b5ad623800533c1602775a7c2b0fc58d68bcefae3b105aec9be7a0becdf30f11fd7a3e05b3a48ec1dedbf3fd3e2c46fad465bd90
7
- data.tar.gz: 8b9d48995da87ba287354f4f68e3732bb7f8b3273905905a2a1b479ffda194c396591a086b76b4d859f9e663cabd5676c5e0ed4bc9430ab4405042465b310500
6
+ metadata.gz: 9185b4be4fee55e74debf3f8965568426fce81369a6f83a3ef8dbdd122db30f09609330ace33e0c43fd06628f15973aeb21c20fd83da5b3ef5544d0776f69820
7
+ data.tar.gz: fed8af8069291dac956e10ce4257ff44b5c646babade15e397e7983fd370bc5b2f494b33cbec151d0ab1cba3f833c99ad49a9099be32224830af780cccd69a72
data/lib/cafe_basics.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
 
@@ -1568,10 +1584,18 @@ class Wordpress
1568
1584
 
1569
1585
  def get_naver_text(q)
1570
1586
  begin
1571
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1572
- @driver = Selenium::WebDriver.for :chrome
1587
+ #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1588
+ options = Selenium::WebDriver::Chrome::Options.new
1589
+ capabilities = [options]
1590
+
1591
+ # Selenium WebDriver에서 options를 capabilities로 전달
1592
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1573
1593
  rescue
1574
- @driver = Selenium::WebDriver.for :chrome
1594
+ # :capabilities에 options를 배열로 전달
1595
+ capabilities = [options]
1596
+
1597
+ # Selenium WebDriver에서 options를 capabilities로 전달
1598
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1575
1599
  end
1576
1600
  @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')
1577
1601
  noko = Nokogiri::HTML(@driver.page_source)
@@ -1601,10 +1625,18 @@ class Wordpress
1601
1625
 
1602
1626
  def get_naver_text2(keyword)
1603
1627
  begin
1604
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1605
- @driver = Selenium::WebDriver.for :chrome
1628
+ #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1629
+ options = Selenium::WebDriver::Chrome::Options.new
1630
+ capabilities = [options]
1631
+
1632
+ # Selenium WebDriver에서 options를 capabilities로 전달
1633
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1606
1634
  rescue
1607
- @driver = Selenium::WebDriver.for :chrome
1635
+ # :capabilities에 options를 배열로 전달
1636
+ capabilities = [options]
1637
+
1638
+ # Selenium WebDriver에서 options를 capabilities로 전달
1639
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
1608
1640
  end
1609
1641
  @driver.get('https://search.naver.com/search.naver?ssc=tab.blog.all&sm=tab_jum&query='+keyword.to_s)
1610
1642
  for n3 in 1..10
@@ -1641,19 +1673,6 @@ class Wordpress
1641
1673
 
1642
1674
 
1643
1675
 
1644
- def chrome_start(url, user_id, user_pw)
1645
- @url = url
1646
- @user_id = user_id
1647
- @user_pw = user_pw
1648
- begin
1649
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
1650
- @driver = Selenium::WebDriver.for :chrome
1651
- rescue
1652
- @driver = Selenium::WebDriver.for :chrome
1653
- end
1654
- end
1655
-
1656
-
1657
1676
 
1658
1677
  #def chrome_start(url, user_id, user_pw)
1659
1678
  # @url = url
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_basics
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