zon_cafe_comment 0.0.35 → 0.0.39
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_cafe_comment.rb +145 -16
- 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: 7cf41d1bb11600a0e0b96c93a3b0a47cd063519cbe75d0d74443c5d2741e4fb9
|
4
|
+
data.tar.gz: 5297d7ed8192bd2b4ac685a00147c55c1230a0496f0a74a625b81fec0bf6593a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d3d7c6a1114aae8bd8f8a807d7b0ec3dfe61c8598aac1c5fc1004de2f78d360a0a4828b2fa1ae9e5d2ce9d729039e1dd730878a31891c004f2fea28ce94357f
|
7
|
+
data.tar.gz: 8c2ee66edf763b5a517d55268a6fb881ca79d8e71b1cc6d12e600b6bbfb8d23c0261f8acbb36acbe64d6ab2fc2752f587ff76668060e906d173c9f8da5d29d46
|
data/lib/zon_cafe_comment.rb
CHANGED
@@ -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
|
|
@@ -272,13 +273,14 @@ class Naver
|
|
272
273
|
end
|
273
274
|
end
|
274
275
|
|
276
|
+
|
275
277
|
|
276
|
-
def update(content,board_url,nickname,image,option,counts_number,keyword,api_key)
|
278
|
+
def update(content,board_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
277
279
|
@board_url = board_url
|
278
280
|
@keyword = keyword
|
279
281
|
@content = content
|
280
282
|
@api_key = api_key
|
281
|
-
|
283
|
+
@sleep_delay = sleep_delay
|
282
284
|
|
283
285
|
|
284
286
|
@driver.get(board_url)
|
@@ -490,7 +492,34 @@ class Naver
|
|
490
492
|
wait.until { @driver.find_element(:xpath, '//*[@id="cafe_main"]') } # 아이프레임 선택
|
491
493
|
sleep(1)
|
492
494
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
495
|
+
|
496
|
+
@content_soon ||= 0 # 초기 한 번만 0으로 세팅
|
493
497
|
|
498
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
499
|
+
content = ''
|
500
|
+
else
|
501
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
502
|
+
content = @data['내용설정']['내용'].sample[2]
|
503
|
+
else
|
504
|
+
content = @data['내용설정']['내용'][@content_soon][2]
|
505
|
+
@content_soon += 1
|
506
|
+
@content_soon = 0 if @content_soon >= @data['내용설정']['내용'].length
|
507
|
+
end
|
508
|
+
end
|
509
|
+
|
510
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
511
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
512
|
+
change_memory = {}
|
513
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
514
|
+
change_memory[key] = v.sample
|
515
|
+
end
|
516
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
517
|
+
if content.include?(key)
|
518
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
519
|
+
else
|
520
|
+
end
|
521
|
+
end
|
522
|
+
end
|
494
523
|
|
495
524
|
if option['좋아요'] == 'true'
|
496
525
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -514,7 +543,7 @@ class Naver
|
|
514
543
|
else
|
515
544
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
516
545
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
517
|
-
sleep(
|
546
|
+
sleep(2)
|
518
547
|
end
|
519
548
|
else
|
520
549
|
end
|
@@ -571,6 +600,7 @@ class Naver
|
|
571
600
|
sleep(1)
|
572
601
|
else
|
573
602
|
begin
|
603
|
+
puts (content)
|
574
604
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
575
605
|
sleep(1)
|
576
606
|
rescue
|
@@ -689,6 +719,20 @@ class Naver
|
|
689
719
|
end
|
690
720
|
end
|
691
721
|
@driver.switch_to.default_content() # 아이프레임 해제
|
722
|
+
def sleep_with_progress(sleep_delay)
|
723
|
+
print "[설정 딜레이 진행 중] "
|
724
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
725
|
+
steps.times do
|
726
|
+
print "."
|
727
|
+
STDOUT.flush
|
728
|
+
sleep(1)
|
729
|
+
end
|
730
|
+
puts "\n"
|
731
|
+
end
|
732
|
+
|
733
|
+
sleep_with_progress(sleep_delay)
|
734
|
+
|
735
|
+
|
692
736
|
rescue => e
|
693
737
|
puts "Error: #{e.message}"
|
694
738
|
end
|
@@ -709,6 +753,35 @@ class Naver
|
|
709
753
|
sleep(1)
|
710
754
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
711
755
|
|
756
|
+
@content_soon ||= 0 # 초기 한 번만 0으로 세팅
|
757
|
+
|
758
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
759
|
+
content = ''
|
760
|
+
else
|
761
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
762
|
+
content = @data['내용설정']['내용'].sample[2]
|
763
|
+
else
|
764
|
+
content = @data['내용설정']['내용'][@content_soon][2]
|
765
|
+
@content_soon += 1
|
766
|
+
@content_soon = 0 if @content_soon >= @data['내용설정']['내용'].length
|
767
|
+
end
|
768
|
+
end
|
769
|
+
|
770
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
771
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
772
|
+
change_memory = {}
|
773
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
774
|
+
change_memory[key] = v.sample
|
775
|
+
end
|
776
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
777
|
+
if content.include?(key)
|
778
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
779
|
+
else
|
780
|
+
end
|
781
|
+
end
|
782
|
+
end
|
783
|
+
|
784
|
+
|
712
785
|
if option['좋아요'] == 'true'
|
713
786
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
714
787
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
@@ -731,7 +804,7 @@ class Naver
|
|
731
804
|
else
|
732
805
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
733
806
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
734
|
-
sleep(
|
807
|
+
sleep(2)
|
735
808
|
end
|
736
809
|
else
|
737
810
|
end
|
@@ -788,6 +861,7 @@ class Naver
|
|
788
861
|
sleep(1)
|
789
862
|
else
|
790
863
|
begin
|
864
|
+
puts (content)
|
791
865
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
792
866
|
sleep(1)
|
793
867
|
rescue
|
@@ -905,9 +979,21 @@ class Naver
|
|
905
979
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
906
980
|
end
|
907
981
|
end
|
908
|
-
|
909
|
-
end
|
982
|
+
end
|
910
983
|
@driver.switch_to.default_content() # 아이프레임 해제
|
984
|
+
def sleep_with_progress(sleep_delay)
|
985
|
+
print "[설정 딜레이 진행 중] "
|
986
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
987
|
+
steps.times do
|
988
|
+
print "."
|
989
|
+
STDOUT.flush
|
990
|
+
sleep(1)
|
991
|
+
end
|
992
|
+
puts "\n"
|
993
|
+
end
|
994
|
+
sleep_with_progress(sleep_delay)
|
995
|
+
|
996
|
+
|
911
997
|
rescue => e
|
912
998
|
puts "Error: #{e.message}"
|
913
999
|
end
|
@@ -1013,6 +1099,33 @@ class Naver
|
|
1013
1099
|
sleep(1)
|
1014
1100
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
1015
1101
|
|
1102
|
+
@content_soon ||= 0 # 초기 한 번만 0으로 세팅
|
1103
|
+
|
1104
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
1105
|
+
content = ''
|
1106
|
+
else
|
1107
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
1108
|
+
content = @data['내용설정']['내용'].sample[2]
|
1109
|
+
else
|
1110
|
+
content = @data['내용설정']['내용'][@content_soon][2]
|
1111
|
+
@content_soon += 1
|
1112
|
+
@content_soon = 0 if @content_soon >= @data['내용설정']['내용'].length
|
1113
|
+
end
|
1114
|
+
end
|
1115
|
+
|
1116
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
1117
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
1118
|
+
change_memory = {}
|
1119
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
1120
|
+
change_memory[key] = v.sample
|
1121
|
+
end
|
1122
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
1123
|
+
if content.include?(key)
|
1124
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
1125
|
+
else
|
1126
|
+
end
|
1127
|
+
end
|
1128
|
+
end
|
1016
1129
|
|
1017
1130
|
if option['좋아요'] == 'true'
|
1018
1131
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -1036,13 +1149,15 @@ class Naver
|
|
1036
1149
|
else
|
1037
1150
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
1038
1151
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
1039
|
-
sleep(
|
1152
|
+
sleep(2)
|
1040
1153
|
end
|
1041
1154
|
else
|
1042
1155
|
end
|
1043
1156
|
|
1157
|
+
|
1158
|
+
|
1044
1159
|
|
1045
|
-
|
1160
|
+
begin
|
1046
1161
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1047
1162
|
wait.until { @driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]') }
|
1048
1163
|
|
@@ -1093,6 +1208,7 @@ class Naver
|
|
1093
1208
|
sleep(1)
|
1094
1209
|
else
|
1095
1210
|
begin
|
1211
|
+
puts (content)
|
1096
1212
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
1097
1213
|
sleep(1)
|
1098
1214
|
rescue
|
@@ -1210,13 +1326,25 @@ class Naver
|
|
1210
1326
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
1211
1327
|
end
|
1212
1328
|
end
|
1213
|
-
|
1214
1329
|
end
|
1215
1330
|
@driver.switch_to.default_content() # 아이프레임 해제
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1331
|
+
def sleep_with_progress(sleep_delay)
|
1332
|
+
print "[설정 딜레이 진행 중] "
|
1333
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
1334
|
+
steps.times do
|
1335
|
+
print "."
|
1336
|
+
STDOUT.flush
|
1337
|
+
sleep(1)
|
1338
|
+
end
|
1339
|
+
puts "\n"
|
1219
1340
|
end
|
1341
|
+
sleep_with_progress(sleep_delay)
|
1342
|
+
|
1343
|
+
|
1344
|
+
rescue => e
|
1345
|
+
puts "Error: #{e.message}"
|
1346
|
+
end
|
1347
|
+
end
|
1220
1348
|
else
|
1221
1349
|
end
|
1222
1350
|
|
@@ -1504,7 +1632,7 @@ end
|
|
1504
1632
|
proxy = table[3].to_s
|
1505
1633
|
user_id = table[1].to_s
|
1506
1634
|
user_pw = table[2].to_s
|
1507
|
-
naver = Naver.new
|
1635
|
+
naver = Naver.new(@data)
|
1508
1636
|
@data['table'][index][-1] = 30
|
1509
1637
|
@data['table'] << []
|
1510
1638
|
@data['table'].pop
|
@@ -1648,7 +1776,8 @@ end
|
|
1648
1776
|
# 댓글 설정 수 카운트
|
1649
1777
|
counts_number = @data['table'][index][5].to_i
|
1650
1778
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
1651
|
-
|
1779
|
+
sleep_delay = @data['table'][index][4].to_i
|
1780
|
+
naver.update(content,board_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
1652
1781
|
|
1653
1782
|
|
1654
1783
|
|
@@ -1657,7 +1786,7 @@ end
|
|
1657
1786
|
@data['table'][index][-1] = 100
|
1658
1787
|
@data['table'] << []
|
1659
1788
|
@data['table'].pop
|
1660
|
-
sleep(@data['table'][index][4].to_i)
|
1789
|
+
#sleep(@data['table'][index][4].to_i)
|
1661
1790
|
end
|
1662
1791
|
rescue => exception
|
1663
1792
|
puts exception
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zon_cafe_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.39
|
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-27 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|