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.
- checksums.yaml +4 -4
- data/lib/cafe_basics.rb +83 -64
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67b94c083f63b91262a70afdb3c0456e140622b7f213e03705578daae7570a43
|
4
|
+
data.tar.gz: 69acbee14d09707ba0d6cc90e7961eeb1d49899f4e859f8627094230d3db0863
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
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
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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
|