zon_blog_comment 0.0.39 → 0.0.53
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 +56 -39
- 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: 77e821eb610cfe128e70712150cd4f75c51090a03ed0e9169a518bb98e0c72c0
|
4
|
+
data.tar.gz: 120885f953739fad61894e1a988c6c71d1c39c789e47e47528be5e78b0083a28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1e06760cd3cc66ba80a54549d3d65f8de468cfbef4608fcdd0823edf8588e2afd3e3dae5071a9edfb23a77737f11139427fdec8be4dd967ddcdf7f33694da89
|
7
|
+
data.tar.gz: e38cb7c20d1eb088c65d3c0a4c61c9ebb9bd3c36a22f5d71fa8496f459cf416df8723f2a2d1a90b03c01716d56d73c3764f5a291d8f33fd396ca4e9fe313cf76
|
data/lib/zon_blog_comment.rb
CHANGED
@@ -16,48 +16,17 @@ require 'uri'
|
|
16
16
|
require 'cgi'
|
17
17
|
require 'auto_click'
|
18
18
|
require 'rainbow/refinement'
|
19
|
-
require 'win32ole'
|
20
19
|
include AutoClickMethods
|
21
20
|
using Rainbow
|
22
21
|
include Glimmer
|
23
22
|
|
24
23
|
|
25
24
|
class Naver
|
26
|
-
def initialize
|
27
|
-
|
28
|
-
sleep(1)
|
25
|
+
def initialize(data)
|
26
|
+
@data = data
|
29
27
|
@seed = 1
|
30
28
|
end
|
31
29
|
|
32
|
-
def kill_selenium_chrome #기존 창 모두 닫는 코드
|
33
|
-
wmi = WIN32OLE.connect("winmgmts://")
|
34
|
-
chrome_procs = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
|
35
|
-
|
36
|
-
chrome_procs.each do |proc|
|
37
|
-
cmd = proc.CommandLine
|
38
|
-
if cmd && cmd.include?("user-data-dir=C:/naver_cookie")
|
39
|
-
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
40
|
-
begin
|
41
|
-
proc.Terminate
|
42
|
-
rescue
|
43
|
-
#puts "→ 이미 종료된 프로세스: #{proc.ProcessId}"
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# chromedriver도 같이 종료
|
49
|
-
chromedrivers = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chromedriver.exe'")
|
50
|
-
chromedrivers.each do |proc|
|
51
|
-
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
52
|
-
begin
|
53
|
-
proc.Terminate
|
54
|
-
rescue
|
55
|
-
#puts "→ 이미 종료된 chromedriver: #{proc.ProcessId}"
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
|
61
30
|
def chrome_setup(user_id, proxy)
|
62
31
|
naver_cookie_dir = "C:/naver_cookie"
|
63
32
|
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
@@ -306,12 +275,13 @@ class Naver
|
|
306
275
|
|
307
276
|
|
308
277
|
|
309
|
-
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,sleep_delay)
|
310
279
|
|
311
280
|
@keyword = keyword
|
312
281
|
@content = content
|
313
282
|
@api_key = api_key
|
314
283
|
@blog_url = blog_url
|
284
|
+
@sleep_delay = sleep_delay
|
315
285
|
#sleep(counts_delay)
|
316
286
|
|
317
287
|
|
@@ -692,7 +662,12 @@ class Naver
|
|
692
662
|
wait.until { @driver.find_element(:xpath, '//*[@id="mainFrame"]') } # 아이프레임 선택
|
693
663
|
sleep(1)
|
694
664
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
|
695
|
-
sleep(1)
|
665
|
+
sleep(1)
|
666
|
+
puts "게시글 읽는 모션 진행".yellow
|
667
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
668
|
+
sleep(1)
|
669
|
+
@driver.action.send_keys(:page_down).perform #스크롤 내리기
|
670
|
+
sleep(1)
|
696
671
|
|
697
672
|
if option['이웃추가'] == 'true'
|
698
673
|
begin
|
@@ -1081,6 +1056,36 @@ class Naver
|
|
1081
1056
|
else
|
1082
1057
|
end
|
1083
1058
|
|
1059
|
+
content_soon = 0
|
1060
|
+
# 💬 content 설정 (여기 추가!)
|
1061
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
1062
|
+
content = ''
|
1063
|
+
else
|
1064
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
1065
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
1066
|
+
else
|
1067
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
1068
|
+
content_soon += 1
|
1069
|
+
if content_soon >= @data['내용설정']['내용'].length
|
1070
|
+
content_soon = 0
|
1071
|
+
end
|
1072
|
+
end
|
1073
|
+
end
|
1074
|
+
|
1075
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
1076
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
1077
|
+
change_memory = {}
|
1078
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
1079
|
+
change_memory[key] = v.sample
|
1080
|
+
end
|
1081
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
1082
|
+
if content.include?(key)
|
1083
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
1084
|
+
else
|
1085
|
+
end
|
1086
|
+
end
|
1087
|
+
end
|
1088
|
+
|
1084
1089
|
begin #댓글 작업 >> 시작
|
1085
1090
|
# 댓글 쓰기 버튼 클릭
|
1086
1091
|
begin
|
@@ -1384,6 +1389,18 @@ class Naver
|
|
1384
1389
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
1385
1390
|
end
|
1386
1391
|
end
|
1392
|
+
|
1393
|
+
def sleep_with_progress(sleep_delay)
|
1394
|
+
print "[설정 딜레이 진행 중] "
|
1395
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
1396
|
+
steps.times do
|
1397
|
+
print "."
|
1398
|
+
STDOUT.flush
|
1399
|
+
sleep(1)
|
1400
|
+
end
|
1401
|
+
puts "\n"
|
1402
|
+
end
|
1403
|
+
sleep_with_progress(sleep_delay)
|
1387
1404
|
|
1388
1405
|
rescue
|
1389
1406
|
|
@@ -1667,7 +1684,7 @@ end
|
|
1667
1684
|
proxy = table[3].to_s
|
1668
1685
|
user_id = table[1].to_s
|
1669
1686
|
user_pw = table[2].to_s
|
1670
|
-
naver = Naver.new
|
1687
|
+
naver = Naver.new(@data)
|
1671
1688
|
@data['table'][index][-1] = 30
|
1672
1689
|
@data['table'] << []
|
1673
1690
|
@data['table'].pop
|
@@ -1853,9 +1870,9 @@ end
|
|
1853
1870
|
|
1854
1871
|
# 댓글 설정 수 카운트
|
1855
1872
|
counts_number = @data['table'][index][6].to_i
|
1856
|
-
|
1873
|
+
sleep_delay = @data['table'][index][5].to_i
|
1857
1874
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
1858
|
-
naver.update(content,image,option,counts_number,keyword,blog_url,api_key,
|
1875
|
+
naver.update(content,image,option,counts_number,keyword,blog_url,api_key,sleep_delay)
|
1859
1876
|
|
1860
1877
|
|
1861
1878
|
|
@@ -1864,7 +1881,7 @@ end
|
|
1864
1881
|
@data['table'][index][-1] = 100
|
1865
1882
|
@data['table'] << []
|
1866
1883
|
@data['table'].pop
|
1867
|
-
sleep(@data['table'][index][5].to_i)
|
1884
|
+
#sleep(@data['table'][index][5].to_i)
|
1868
1885
|
end
|
1869
1886
|
rescue => exception
|
1870
1887
|
puts exception
|
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.53
|
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
|