zon_blog_cafe_comment 0.0.55 → 0.0.61
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 +250 -48
- 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: 3948c43ce2529657d53c6bdae7638ef1cd545115ae94ac8dc5fc3da58e94c8ae
|
4
|
+
data.tar.gz: b663e7b7be16e3ec4a39b0f0aaddc5dd2ddb6d9a033b38d5cf6a3dfdc0f0410f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 813bef3f1d23e188e02417f9826c6cf87ca2b71b19b3b2455a7d36b339a5505270d9199d9c00ae7bff06651513898f9dcd493919007f35bcce8040348894dd88
|
7
|
+
data.tar.gz: e9bd7194c0d2e338d286c7623bccfd71d28bef77ee0eb0b9b23a484f9ebfc749f9222e120af32dff6f210b1feaef387d3b290d26820fb627bcf5c1e944d0333a
|
@@ -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
|
@@ -1400,48 +1550,60 @@ class Naver
|
|
1400
1550
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
|
1401
1551
|
sleep(1)
|
1402
1552
|
begin
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1553
|
+
element = @driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]') # 목록 열기 코드
|
1554
|
+
text = element.text.strip
|
1555
|
+
|
1556
|
+
if text == "목록열기"
|
1557
|
+
element.click
|
1558
|
+
sleep(2)
|
1559
|
+
else
|
1560
|
+
|
1561
|
+
end
|
1562
|
+
rescue
|
1406
1563
|
begin
|
1407
|
-
@driver.find_element(:xpath, '//*[@class="off itemfont _doNclick _param(false|blog|)"]').click
|
1408
|
-
sleep(2)
|
1564
|
+
@driver.find_element(:xpath, '//*[@class="off itemfont _doNclick _param(false|blog|)"]').click #블로그 txt 클릭
|
1565
|
+
sleep(2)
|
1566
|
+
rescue
|
1567
|
+
begin
|
1568
|
+
@driver.find_element(:xpath, '//*[@class="on itemfont _doNclick _param(false|blog|)"]').click #블로그 txt 클릭
|
1569
|
+
sleep(2)
|
1570
|
+
rescue
|
1571
|
+
end
|
1572
|
+
end
|
1573
|
+
|
1574
|
+
begin
|
1409
1575
|
begin
|
1410
1576
|
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
1411
|
-
wait.until { @driver.find_element(:xpath, '//*[@id="category0"]') }
|
1577
|
+
wait.until { @driver.find_element(:xpath, '//*[@id="category0"]') } # 전체 보기 클릭
|
1412
1578
|
element = @driver.find_element(:xpath, '//*[@id="category0"]')
|
1413
1579
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element)#크롤 이동
|
1414
1580
|
sleep(2)
|
1415
|
-
@driver.find_element(:xpath, '//*[@id="category0"]').click
|
1581
|
+
@driver.find_element(:xpath, '//*[@id="category0"]').click # 전체 보기 클릭
|
1416
1582
|
sleep(2)
|
1417
1583
|
rescue
|
1418
1584
|
end
|
1419
1585
|
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
1420
|
-
wait.until { @driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]') }
|
1586
|
+
wait.until { @driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]') } # 목록 열기 코드
|
1421
1587
|
element = @driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]')
|
1422
1588
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element)#크롤 이동
|
1423
|
-
sleep(2)
|
1424
|
-
@driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]')
|
1425
|
-
|
1426
|
-
|
1427
|
-
|
1428
|
-
|
1429
|
-
|
1430
|
-
|
1431
|
-
puts 'id="toplistSpanBlind" 요소를 찾지 못했습니다.'
|
1432
|
-
@driver.close
|
1433
|
-
rescue Selenium::WebDriver::Error::WebDriverError => e
|
1434
|
-
puts "Failed to close tab: #{e.message}"
|
1435
|
-
end
|
1589
|
+
sleep(2)
|
1590
|
+
element = @driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]')
|
1591
|
+
text = element.text.strip
|
1592
|
+
|
1593
|
+
if text == "목록열기"
|
1594
|
+
element.click
|
1595
|
+
sleep(2)
|
1596
|
+
else
|
1436
1597
|
end
|
1437
|
-
|
1598
|
+
sleep(1)
|
1599
|
+
rescue
|
1438
1600
|
end
|
1439
1601
|
end
|
1440
1602
|
|
1441
1603
|
|
1442
1604
|
begin
|
1443
1605
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1444
|
-
wait.until { @driver.find_element(:xpath, '//*[@class="aline"]') }
|
1606
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="aline"]') } # 목록 리스트 (5줄 보기) 클릭
|
1445
1607
|
element = @driver.find_element(:xpath, '//*[@class="aline"]')
|
1446
1608
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element)#크롤 이동
|
1447
1609
|
sleep(2)
|
@@ -1450,24 +1612,13 @@ class Naver
|
|
1450
1612
|
rescue
|
1451
1613
|
begin
|
1452
1614
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1453
|
-
wait.until { @driver.find_element(:xpath, '//*[@id="listCountToggle"]') }
|
1615
|
+
wait.until { @driver.find_element(:xpath, '//*[@id="listCountToggle"]') } # 목록 리스트 (5줄 보기) 클릭
|
1454
1616
|
element = @driver.find_element(:xpath, '//*[@id="listCountToggle"]')
|
1455
1617
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element)#크롤 이동
|
1456
1618
|
sleep(2)
|
1457
1619
|
element.send_keys(:return)
|
1458
1620
|
sleep(1)
|
1459
|
-
rescue
|
1460
|
-
@driver.window_handles.each do |handle|
|
1461
|
-
@driver.switch_to.window(handle)
|
1462
|
-
begin
|
1463
|
-
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
1464
|
-
puts 'class="aline" 요소를 찾지 못했습니다.'
|
1465
|
-
@driver.close
|
1466
|
-
rescue Selenium::WebDriver::Error::WebDriverError => e
|
1467
|
-
puts "Failed to close tab: #{e.message}"
|
1468
|
-
end
|
1469
|
-
end
|
1470
|
-
@driver.quit
|
1621
|
+
rescue
|
1471
1622
|
end
|
1472
1623
|
end
|
1473
1624
|
|
@@ -1579,7 +1730,7 @@ class Naver
|
|
1579
1730
|
end
|
1580
1731
|
|
1581
1732
|
@driver.switch_to.default_content
|
1582
|
-
|
1733
|
+
end
|
1583
1734
|
|
1584
1735
|
collected_urls.each do |url|
|
1585
1736
|
# 각 post-url로 이동
|
@@ -1591,8 +1742,16 @@ class Naver
|
|
1591
1742
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
|
1592
1743
|
sleep(1)
|
1593
1744
|
|
1745
|
+
sleep(1)
|
1746
|
+
puts "게시글 읽는 모션 진행".yellow
|
1747
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
1748
|
+
sleep(1)
|
1749
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
1750
|
+
sleep(1)
|
1751
|
+
|
1594
1752
|
if option['이웃추가'] == 'true'
|
1595
1753
|
begin
|
1754
|
+
sleep(1)
|
1596
1755
|
begin
|
1597
1756
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1598
1757
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
@@ -1667,7 +1826,7 @@ class Naver
|
|
1667
1826
|
|
1668
1827
|
elsif option['서로이웃추가'] == 'true'
|
1669
1828
|
begin
|
1670
|
-
|
1829
|
+
sleep(1)
|
1671
1830
|
begin
|
1672
1831
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1673
1832
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
@@ -1748,7 +1907,7 @@ class Naver
|
|
1748
1907
|
|
1749
1908
|
if option['공유하기'] == 'true'
|
1750
1909
|
begin
|
1751
|
-
|
1910
|
+
sleep(1)
|
1752
1911
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1753
1912
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
1754
1913
|
wait.until { @driver.find_element(:xpath, '//*[@class="_spi_blog spi_btn_blog"]') }
|
@@ -1840,7 +1999,7 @@ class Naver
|
|
1840
1999
|
|
1841
2000
|
elsif option['공유하기비공개'] == 'true'
|
1842
2001
|
begin
|
1843
|
-
|
2002
|
+
sleep(1)
|
1844
2003
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1845
2004
|
#요소가 나타날 때까지 10초 동안 기다립니다.
|
1846
2005
|
wait.until { @driver.find_element(:xpath, '//*[@class="_spi_blog spi_btn_blog"]') }
|
@@ -1937,7 +2096,7 @@ class Naver
|
|
1937
2096
|
|
1938
2097
|
if option['좋아요'] == 'true'
|
1939
2098
|
begin
|
1940
|
-
|
2099
|
+
sleep(1)
|
1941
2100
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1942
2101
|
wait.until { @driver.find_element(:xpath, '//*[@class="u_ico _icon pcol3"]') }
|
1943
2102
|
|
@@ -1978,6 +2137,36 @@ class Naver
|
|
1978
2137
|
else
|
1979
2138
|
end
|
1980
2139
|
|
2140
|
+
content_soon = 0
|
2141
|
+
# 💬 content 설정 (여기 추가!)
|
2142
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
2143
|
+
content = ''
|
2144
|
+
else
|
2145
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
2146
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
2147
|
+
else
|
2148
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
2149
|
+
content_soon += 1
|
2150
|
+
if content_soon >= @data['내용설정']['내용'].length
|
2151
|
+
content_soon = 0
|
2152
|
+
end
|
2153
|
+
end
|
2154
|
+
end
|
2155
|
+
|
2156
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
2157
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
2158
|
+
change_memory = {}
|
2159
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
2160
|
+
change_memory[key] = v.sample
|
2161
|
+
end
|
2162
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
2163
|
+
if content.include?(key)
|
2164
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
2165
|
+
else
|
2166
|
+
end
|
2167
|
+
end
|
2168
|
+
end
|
2169
|
+
|
1981
2170
|
begin #댓글 작업 >> 시작
|
1982
2171
|
# 댓글 쓰기 버튼 클릭
|
1983
2172
|
begin
|
@@ -2272,8 +2461,20 @@ class Naver
|
|
2272
2461
|
ff.close()
|
2273
2462
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
2274
2463
|
end
|
2275
|
-
end
|
2276
|
-
|
2464
|
+
end
|
2465
|
+
|
2466
|
+
def sleep_with_progress(sleep_delay)
|
2467
|
+
print "[설정 딜레이 진행 중] "
|
2468
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
2469
|
+
steps.times do
|
2470
|
+
print "."
|
2471
|
+
STDOUT.flush
|
2472
|
+
sleep(1)
|
2473
|
+
end
|
2474
|
+
puts "\n"
|
2475
|
+
end
|
2476
|
+
sleep_with_progress(sleep_delay)
|
2477
|
+
|
2277
2478
|
rescue
|
2278
2479
|
|
2279
2480
|
end #댓글 작업 >> 끝
|
@@ -2588,7 +2789,7 @@ end
|
|
2588
2789
|
proxy = table[3].to_s
|
2589
2790
|
user_id = table[1].to_s
|
2590
2791
|
user_pw = table[2].to_s
|
2591
|
-
naver = Naver.new
|
2792
|
+
naver = Naver.new(@data)
|
2592
2793
|
@data['table'][index][-1] = 30
|
2593
2794
|
@data['table'] << []
|
2594
2795
|
@data['table'].pop
|
@@ -2811,7 +3012,8 @@ end
|
|
2811
3012
|
# 댓글 설정 수 카운트
|
2812
3013
|
counts_number = @data['table'][index][6].to_i
|
2813
3014
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
2814
|
-
|
3015
|
+
sleep_delay = @data['table'][index][5].to_i
|
3016
|
+
naver.update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
2815
3017
|
|
2816
3018
|
|
2817
3019
|
|
@@ -2820,7 +3022,7 @@ end
|
|
2820
3022
|
@data['table'][index][-1] = 100
|
2821
3023
|
@data['table'] << []
|
2822
3024
|
@data['table'].pop
|
2823
|
-
sleep(@data['table'][index][5].to_i)
|
3025
|
+
#sleep(@data['table'][index][5].to_i)
|
2824
3026
|
end
|
2825
3027
|
rescue => exception
|
2826
3028
|
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.61
|
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-19 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|