zon_blog_comment 0.0.35 → 0.0.37
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 +4 -4
- data/lib/zon_blog_comment.rb +85 -26
- 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: bf9c37d440c5d27dc3f7080aa093c92fe82398976b5eec3fc006ed08db7fa15f
|
4
|
+
data.tar.gz: 7fbb4aa76ce5658207009a806249bc55d87fec610b66397aaf8058fe08d39d4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0f171e23cacd5c155796250771c1fde8e9723ffde6e9802d492ab33cf416273a003153ab8ef3efc2c06e055e56251f6b249b74c62b34302cc80fa113b8604e9
|
7
|
+
data.tar.gz: a9d66557eb8516b3a49fd3c4ee62dd1e99aac61d27ce4b7cc5e424ac3d80d3dd992fcd93194244b95b8a39d915341dfe9c931e02c4e5a7d1c18340e96797e181
|
data/lib/zon_blog_comment.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'
|
@@ -24,25 +24,6 @@ include Glimmer
|
|
24
24
|
class Naver
|
25
25
|
def initialize
|
26
26
|
@seed = 1
|
27
|
-
|
28
|
-
begin
|
29
|
-
# webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
|
30
|
-
|
31
|
-
# Webdrivers가 드라이버를 다운로드할 경로를 설정
|
32
|
-
Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
|
33
|
-
Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
|
34
|
-
# 크롬드라이버 자동 업데이트 시도
|
35
|
-
Webdrivers::Chromedriver.update
|
36
|
-
puts "chromedriver 자동 다운로드 성공"
|
37
|
-
rescue => e
|
38
|
-
puts "chromedriver 자동 다운로드 실패: #{e.message}"
|
39
|
-
puts "폴더내 크롬드라이버를 사용합니다."
|
40
|
-
puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
|
41
|
-
puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
|
42
|
-
chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
|
43
|
-
Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
|
44
|
-
end
|
45
|
-
|
46
27
|
end
|
47
28
|
|
48
29
|
|
@@ -64,6 +45,18 @@ class Naver
|
|
64
45
|
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
65
46
|
if proxy == ''
|
66
47
|
begin
|
48
|
+
begin
|
49
|
+
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
50
|
+
rescue => e
|
51
|
+
puts "chromedriver 버전 불일치!!"
|
52
|
+
puts "아래 지침을 따라주세요."
|
53
|
+
puts "1.프로그램 종료!"
|
54
|
+
puts "2.크롬 업데이트!"
|
55
|
+
puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
|
56
|
+
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
57
|
+
puts "5.재 시작"
|
58
|
+
exit 1
|
59
|
+
end
|
67
60
|
options = Selenium::WebDriver::Chrome::Options.new
|
68
61
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
69
62
|
#options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -91,7 +84,18 @@ class Naver
|
|
91
84
|
end
|
92
85
|
else
|
93
86
|
begin
|
94
|
-
|
87
|
+
begin
|
88
|
+
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
89
|
+
rescue => e
|
90
|
+
puts "chromedriver 버전 불일치!!"
|
91
|
+
puts "아래 지침을 따라주세요."
|
92
|
+
puts "1.프로그램 종료!"
|
93
|
+
puts "2.크롬 업데이트!"
|
94
|
+
puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
|
95
|
+
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
96
|
+
puts "5.재 시작"
|
97
|
+
exit 1
|
98
|
+
end
|
95
99
|
options = Selenium::WebDriver::Chrome::Options.new
|
96
100
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
97
101
|
options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -118,7 +122,18 @@ class Naver
|
|
118
122
|
puts e
|
119
123
|
puts 'proxy error...'
|
120
124
|
begin
|
121
|
-
|
125
|
+
begin
|
126
|
+
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
127
|
+
rescue => e
|
128
|
+
puts "chromedriver 버전 불일치!!"
|
129
|
+
puts "아래 지침을 따라주세요."
|
130
|
+
puts "1.프로그램 종료!"
|
131
|
+
puts "2.크롬 업데이트!"
|
132
|
+
puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
|
133
|
+
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
134
|
+
puts "5.재 시작"
|
135
|
+
exit 1
|
136
|
+
end
|
122
137
|
options = Selenium::WebDriver::Chrome::Options.new
|
123
138
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
124
139
|
options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -260,12 +275,13 @@ class Naver
|
|
260
275
|
|
261
276
|
|
262
277
|
|
263
|
-
def update(content,image,option,counts_number,keyword,blog_url,api_key)
|
278
|
+
def update(content,image,option,counts_number,keyword,blog_url,api_key,counts_delay)
|
264
279
|
|
265
280
|
@keyword = keyword
|
266
281
|
@content = content
|
267
282
|
@api_key = api_key
|
268
283
|
@blog_url = blog_url
|
284
|
+
#sleep(counts_delay)
|
269
285
|
|
270
286
|
|
271
287
|
|
@@ -1238,6 +1254,27 @@ class Naver
|
|
1238
1254
|
end
|
1239
1255
|
end
|
1240
1256
|
sleep(1)
|
1257
|
+
if option['비공개댓글'] == 'true'
|
1258
|
+
begin
|
1259
|
+
@driver.find_element(:xpath, '//*[@class="u_cbox_secret_label"]').click
|
1260
|
+
sleep(1)
|
1261
|
+
rescue
|
1262
|
+
begin
|
1263
|
+
@driver.find_element(:xpath, '//*[@class="u_cbox_secret_check"]').click
|
1264
|
+
sleep(1)
|
1265
|
+
rescue
|
1266
|
+
begin
|
1267
|
+
@driver.find_element(:xpath, '//*[@class="u_cbox_txt_secret"]').click
|
1268
|
+
sleep(1)
|
1269
|
+
rescue
|
1270
|
+
end
|
1271
|
+
end
|
1272
|
+
end
|
1273
|
+
else
|
1274
|
+
# 여기에 다른 코드 추가 가능
|
1275
|
+
end
|
1276
|
+
|
1277
|
+
|
1241
1278
|
begin
|
1242
1279
|
element = @driver.find_element(:xpath, '//*[@data-uiselector="writeButton"]')
|
1243
1280
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element) # 크롤 이동
|
@@ -1268,6 +1305,11 @@ class Naver
|
|
1268
1305
|
end
|
1269
1306
|
posting_url = @driver.current_url
|
1270
1307
|
puts "#{posting_url} [댓글 작성 완료 !!]".cyan
|
1308
|
+
|
1309
|
+
begin
|
1310
|
+
sleep(counts_delay)
|
1311
|
+
rescue
|
1312
|
+
end
|
1271
1313
|
|
1272
1314
|
sleep(2)
|
1273
1315
|
begin
|
@@ -1720,7 +1762,7 @@ end
|
|
1720
1762
|
else
|
1721
1763
|
option['공유하기비공개'] = 'false'
|
1722
1764
|
end
|
1723
|
-
@data['table'][index][-1] =
|
1765
|
+
@data['table'][index][-1] = 80
|
1724
1766
|
@data['table'] << []
|
1725
1767
|
@data['table'].pop
|
1726
1768
|
|
@@ -1731,6 +1773,15 @@ end
|
|
1731
1773
|
else
|
1732
1774
|
option['댓글패스'] = 'false'
|
1733
1775
|
end
|
1776
|
+
@data['table'][index][-1] = 85
|
1777
|
+
@data['table'] << []
|
1778
|
+
@data['table'].pop
|
1779
|
+
|
1780
|
+
if @data['포스트설정']['비공개댓글'].checked?
|
1781
|
+
option['비공개댓글'] = 'true'
|
1782
|
+
else
|
1783
|
+
option['비공개댓글'] = 'false'
|
1784
|
+
end
|
1734
1785
|
@data['table'][index][-1] = 90
|
1735
1786
|
@data['table'] << []
|
1736
1787
|
@data['table'].pop
|
@@ -1771,8 +1822,9 @@ end
|
|
1771
1822
|
|
1772
1823
|
# 댓글 설정 수 카운트
|
1773
1824
|
counts_number = @data['table'][index][6].to_i
|
1825
|
+
counts_delay = @data['table'][index][5].to_i
|
1774
1826
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
1775
|
-
naver.update(content,image,option,counts_number,keyword,blog_url,api_key)
|
1827
|
+
naver.update(content,image,option,counts_number,keyword,blog_url,api_key,counts_delay)
|
1776
1828
|
|
1777
1829
|
|
1778
1830
|
|
@@ -3088,13 +3140,20 @@ end
|
|
3088
3140
|
end
|
3089
3141
|
}
|
3090
3142
|
}
|
3091
|
-
@data['포스트설정']['
|
3143
|
+
@data['포스트설정']['비공개댓글'] = checkbox('🔒비공개 댓글 '){
|
3092
3144
|
top 1
|
3093
3145
|
left 3
|
3094
3146
|
on_toggled{
|
3095
3147
|
|
3096
3148
|
}
|
3097
3149
|
}
|
3150
|
+
@data['포스트설정']['댓글패스'] = checkbox('🔙이미 작성한 댓글이 있는 경우 패스'){
|
3151
|
+
top 1
|
3152
|
+
left 4
|
3153
|
+
on_toggled{
|
3154
|
+
|
3155
|
+
}
|
3156
|
+
}
|
3098
3157
|
}
|
3099
3158
|
}
|
3100
3159
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zon_blog_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-05-22 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|