zon_blog_cafe_comment 0.0.55 → 0.0.57
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_cafe_comment.rb +213 -12
- 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: 5b0d86fbc3537505d52a52f1774a864685e4a641ba624daa5bb4c626ceaedf0d
|
4
|
+
data.tar.gz: d25746c2540e2c901bf0e0b04e0a74b4337a02fe9c5379def94f51d1be0bfa47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a0fa0713c6f3b98d2179cbd8bcb3575f32a2913788a33005c9ae45b6fab7254ec583b7d9ac473749efedd21248ed5282c1aaf54ce317dd5c1dd79ac6566c21e
|
7
|
+
data.tar.gz: ecdb82adab2da4f4853159ca4818b30979e20e044476a0c7eada9735607fbdeefd0527338a7da2dc86c4fdbd4cd76404923cfc14eac7891310eefaba5e42bdd6
|
@@ -22,7 +22,8 @@ include Glimmer
|
|
22
22
|
|
23
23
|
|
24
24
|
class Naver
|
25
|
-
def initialize
|
25
|
+
def initialize(data)
|
26
|
+
@data = data
|
26
27
|
@seed = 1
|
27
28
|
end
|
28
29
|
|
@@ -274,12 +275,13 @@ class Naver
|
|
274
275
|
|
275
276
|
|
276
277
|
|
277
|
-
def update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key)
|
278
|
+
def update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
278
279
|
@board_url = board_url
|
279
280
|
@keyword = keyword
|
280
281
|
@content = content
|
281
282
|
@api_key = api_key
|
282
283
|
@blog_url = blog_url
|
284
|
+
@sleep_delay = sleep_delay
|
283
285
|
if option['카페사용모드'] == 'true'
|
284
286
|
|
285
287
|
|
@@ -490,6 +492,42 @@ class Naver
|
|
490
492
|
sleep(1)
|
491
493
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
492
494
|
|
495
|
+
sleep(1)
|
496
|
+
puts "게시글 읽는 모션 진행".yellow
|
497
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
498
|
+
sleep(1)
|
499
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
500
|
+
sleep(1)
|
501
|
+
|
502
|
+
content_soon = 0
|
503
|
+
# 💬 content 설정 (여기 추가!)
|
504
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
505
|
+
content = ''
|
506
|
+
else
|
507
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
508
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
509
|
+
else
|
510
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
511
|
+
content_soon += 1
|
512
|
+
if content_soon >= @data['내용설정']['내용'].length
|
513
|
+
content_soon = 0
|
514
|
+
end
|
515
|
+
end
|
516
|
+
end
|
517
|
+
|
518
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
519
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
520
|
+
change_memory = {}
|
521
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
522
|
+
change_memory[key] = v.sample
|
523
|
+
end
|
524
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
525
|
+
if content.include?(key)
|
526
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
527
|
+
else
|
528
|
+
end
|
529
|
+
end
|
530
|
+
end
|
493
531
|
|
494
532
|
if option['좋아요'] == 'true'
|
495
533
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -570,6 +608,7 @@ class Naver
|
|
570
608
|
sleep(1)
|
571
609
|
else
|
572
610
|
begin
|
611
|
+
puts (content)
|
573
612
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
574
613
|
sleep(1)
|
575
614
|
rescue
|
@@ -688,6 +727,18 @@ class Naver
|
|
688
727
|
end
|
689
728
|
end
|
690
729
|
@driver.switch_to.default_content() # 아이프레임 해제
|
730
|
+
def sleep_with_progress(sleep_delay)
|
731
|
+
print "[설정 딜레이 진행 중] "
|
732
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
733
|
+
steps.times do
|
734
|
+
print "."
|
735
|
+
STDOUT.flush
|
736
|
+
sleep(1)
|
737
|
+
end
|
738
|
+
puts "\n"
|
739
|
+
end
|
740
|
+
|
741
|
+
sleep_with_progress(sleep_delay)
|
691
742
|
rescue => e
|
692
743
|
puts "Error: #{e.message}"
|
693
744
|
end
|
@@ -707,6 +758,43 @@ class Naver
|
|
707
758
|
wait.until { @driver.find_element(:xpath, '//*[@id="cafe_main"]') } # 아이프레임 선택
|
708
759
|
sleep(1)
|
709
760
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
761
|
+
|
762
|
+
sleep(1)
|
763
|
+
puts "게시글 읽는 모션 진행".yellow
|
764
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
765
|
+
sleep(1)
|
766
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
767
|
+
sleep(1)
|
768
|
+
|
769
|
+
content_soon = 0
|
770
|
+
# 💬 content 설정 (여기 추가!)
|
771
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
772
|
+
content = ''
|
773
|
+
else
|
774
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
775
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
776
|
+
else
|
777
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
778
|
+
content_soon += 1
|
779
|
+
if content_soon >= @data['내용설정']['내용'].length
|
780
|
+
content_soon = 0
|
781
|
+
end
|
782
|
+
end
|
783
|
+
end
|
784
|
+
|
785
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
786
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
787
|
+
change_memory = {}
|
788
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
789
|
+
change_memory[key] = v.sample
|
790
|
+
end
|
791
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
792
|
+
if content.include?(key)
|
793
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
794
|
+
else
|
795
|
+
end
|
796
|
+
end
|
797
|
+
end
|
710
798
|
|
711
799
|
if option['좋아요'] == 'true'
|
712
800
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -787,6 +875,7 @@ class Naver
|
|
787
875
|
sleep(1)
|
788
876
|
else
|
789
877
|
begin
|
878
|
+
puts (content)
|
790
879
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
791
880
|
sleep(1)
|
792
881
|
rescue
|
@@ -907,6 +996,17 @@ class Naver
|
|
907
996
|
|
908
997
|
end
|
909
998
|
@driver.switch_to.default_content() # 아이프레임 해제
|
999
|
+
def sleep_with_progress(sleep_delay)
|
1000
|
+
print "[설정 딜레이 진행 중] "
|
1001
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
1002
|
+
steps.times do
|
1003
|
+
print "."
|
1004
|
+
STDOUT.flush
|
1005
|
+
sleep(1)
|
1006
|
+
end
|
1007
|
+
puts "\n"
|
1008
|
+
end
|
1009
|
+
sleep_with_progress(sleep_delay)
|
910
1010
|
rescue => e
|
911
1011
|
puts "Error: #{e.message}"
|
912
1012
|
end
|
@@ -1008,6 +1108,42 @@ class Naver
|
|
1008
1108
|
sleep(1)
|
1009
1109
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
1010
1110
|
|
1111
|
+
sleep(1)
|
1112
|
+
puts "게시글 읽는 모션 진행".yellow
|
1113
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
1114
|
+
sleep(1)
|
1115
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
1116
|
+
sleep(1)
|
1117
|
+
|
1118
|
+
content_soon = 0
|
1119
|
+
# 💬 content 설정 (여기 추가!)
|
1120
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
1121
|
+
content = ''
|
1122
|
+
else
|
1123
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
1124
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
1125
|
+
else
|
1126
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
1127
|
+
content_soon += 1
|
1128
|
+
if content_soon >= @data['내용설정']['내용'].length
|
1129
|
+
content_soon = 0
|
1130
|
+
end
|
1131
|
+
end
|
1132
|
+
end
|
1133
|
+
|
1134
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
1135
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
1136
|
+
change_memory = {}
|
1137
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
1138
|
+
change_memory[key] = v.sample
|
1139
|
+
end
|
1140
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
1141
|
+
if content.include?(key)
|
1142
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
1143
|
+
else
|
1144
|
+
end
|
1145
|
+
end
|
1146
|
+
end
|
1011
1147
|
|
1012
1148
|
if option['좋아요'] == 'true'
|
1013
1149
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -1088,6 +1224,7 @@ class Naver
|
|
1088
1224
|
sleep(1)
|
1089
1225
|
else
|
1090
1226
|
begin
|
1227
|
+
puts (content)
|
1091
1228
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
1092
1229
|
sleep(1)
|
1093
1230
|
rescue
|
@@ -1208,6 +1345,19 @@ class Naver
|
|
1208
1345
|
|
1209
1346
|
end
|
1210
1347
|
@driver.switch_to.default_content() # 아이프레임 해제
|
1348
|
+
def sleep_with_progress(sleep_delay)
|
1349
|
+
print "[설정 딜레이 진행 중] "
|
1350
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
1351
|
+
steps.times do
|
1352
|
+
print "."
|
1353
|
+
STDOUT.flush
|
1354
|
+
sleep(1)
|
1355
|
+
end
|
1356
|
+
puts "\n"
|
1357
|
+
end
|
1358
|
+
sleep_with_progress(sleep_delay)
|
1359
|
+
|
1360
|
+
|
1211
1361
|
rescue => e
|
1212
1362
|
puts "Error: #{e.message}"
|
1213
1363
|
end
|
@@ -1579,7 +1729,7 @@ class Naver
|
|
1579
1729
|
end
|
1580
1730
|
|
1581
1731
|
@driver.switch_to.default_content
|
1582
|
-
|
1732
|
+
end
|
1583
1733
|
|
1584
1734
|
collected_urls.each do |url|
|
1585
1735
|
# 각 post-url로 이동
|
@@ -1591,8 +1741,16 @@ class Naver
|
|
1591
1741
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
|
1592
1742
|
sleep(1)
|
1593
1743
|
|
1744
|
+
sleep(1)
|
1745
|
+
puts "게시글 읽는 모션 진행".yellow
|
1746
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
1747
|
+
sleep(1)
|
1748
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
1749
|
+
sleep(1)
|
1750
|
+
|
1594
1751
|
if option['이웃추가'] == 'true'
|
1595
1752
|
begin
|
1753
|
+
sleep(1)
|
1596
1754
|
begin
|
1597
1755
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1598
1756
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
@@ -1667,7 +1825,7 @@ class Naver
|
|
1667
1825
|
|
1668
1826
|
elsif option['서로이웃추가'] == 'true'
|
1669
1827
|
begin
|
1670
|
-
|
1828
|
+
sleep(1)
|
1671
1829
|
begin
|
1672
1830
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1673
1831
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
@@ -1748,7 +1906,7 @@ class Naver
|
|
1748
1906
|
|
1749
1907
|
if option['공유하기'] == 'true'
|
1750
1908
|
begin
|
1751
|
-
|
1909
|
+
sleep(1)
|
1752
1910
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1753
1911
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
1754
1912
|
wait.until { @driver.find_element(:xpath, '//*[@class="_spi_blog spi_btn_blog"]') }
|
@@ -1840,7 +1998,7 @@ class Naver
|
|
1840
1998
|
|
1841
1999
|
elsif option['공유하기비공개'] == 'true'
|
1842
2000
|
begin
|
1843
|
-
|
2001
|
+
sleep(1)
|
1844
2002
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1845
2003
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
1846
2004
|
wait.until { @driver.find_element(:xpath, '//*[@class="_spi_blog spi_btn_blog"]') }
|
@@ -1937,7 +2095,7 @@ class Naver
|
|
1937
2095
|
|
1938
2096
|
if option['좋아요'] == 'true'
|
1939
2097
|
begin
|
1940
|
-
|
2098
|
+
sleep(1)
|
1941
2099
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1942
2100
|
wait.until { @driver.find_element(:xpath, '//*[@class="u_ico _icon pcol3"]') }
|
1943
2101
|
|
@@ -1978,6 +2136,36 @@ class Naver
|
|
1978
2136
|
else
|
1979
2137
|
end
|
1980
2138
|
|
2139
|
+
content_soon = 0
|
2140
|
+
# 💬 content 설정 (여기 추가!)
|
2141
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
2142
|
+
content = ''
|
2143
|
+
else
|
2144
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
2145
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
2146
|
+
else
|
2147
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
2148
|
+
content_soon += 1
|
2149
|
+
if content_soon >= @data['내용설정']['내용'].length
|
2150
|
+
content_soon = 0
|
2151
|
+
end
|
2152
|
+
end
|
2153
|
+
end
|
2154
|
+
|
2155
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
2156
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
2157
|
+
change_memory = {}
|
2158
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
2159
|
+
change_memory[key] = v.sample
|
2160
|
+
end
|
2161
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
2162
|
+
if content.include?(key)
|
2163
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
2164
|
+
else
|
2165
|
+
end
|
2166
|
+
end
|
2167
|
+
end
|
2168
|
+
|
1981
2169
|
begin #댓글 작업 >> 시작
|
1982
2170
|
# 댓글 쓰기 버튼 클릭
|
1983
2171
|
begin
|
@@ -2272,8 +2460,20 @@ class Naver
|
|
2272
2460
|
ff.close()
|
2273
2461
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
2274
2462
|
end
|
2275
|
-
end
|
2276
|
-
|
2463
|
+
end
|
2464
|
+
|
2465
|
+
def sleep_with_progress(sleep_delay)
|
2466
|
+
print "[설정 딜레이 진행 중] "
|
2467
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
2468
|
+
steps.times do
|
2469
|
+
print "."
|
2470
|
+
STDOUT.flush
|
2471
|
+
sleep(1)
|
2472
|
+
end
|
2473
|
+
puts "\n"
|
2474
|
+
end
|
2475
|
+
sleep_with_progress(sleep_delay)
|
2476
|
+
|
2277
2477
|
rescue
|
2278
2478
|
|
2279
2479
|
end #댓글 작업 >> 끝
|
@@ -2588,7 +2788,7 @@ end
|
|
2588
2788
|
proxy = table[3].to_s
|
2589
2789
|
user_id = table[1].to_s
|
2590
2790
|
user_pw = table[2].to_s
|
2591
|
-
naver = Naver.new
|
2791
|
+
naver = Naver.new(@data)
|
2592
2792
|
@data['table'][index][-1] = 30
|
2593
2793
|
@data['table'] << []
|
2594
2794
|
@data['table'].pop
|
@@ -2811,7 +3011,8 @@ end
|
|
2811
3011
|
# 댓글 설정 수 카운트
|
2812
3012
|
counts_number = @data['table'][index][6].to_i
|
2813
3013
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
2814
|
-
|
3014
|
+
sleep_delay = @data['table'][index][5].to_i
|
3015
|
+
naver.update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
2815
3016
|
|
2816
3017
|
|
2817
3018
|
|
@@ -2820,7 +3021,7 @@ end
|
|
2820
3021
|
@data['table'][index][-1] = 100
|
2821
3022
|
@data['table'] << []
|
2822
3023
|
@data['table'].pop
|
2823
|
-
sleep(@data['table'][index][5].to_i)
|
3024
|
+
#sleep(@data['table'][index][5].to_i)
|
2824
3025
|
end
|
2825
3026
|
rescue => exception
|
2826
3027
|
puts exception
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zon_blog_cafe_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.57
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-12 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|