posting_zon 0.0.72 → 0.0.73
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/posting_zon.rb +67 -42
- 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: 16d2cff7008e867c6a9ecb286892aa74d79c919706fc02b23d4167c249422d65
|
4
|
+
data.tar.gz: 1cf6c127e66cf46a179a9f7e54b98c30cd27d4745cd2e73dffb7416d7f020442
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc9f45d75bf974ad1b27f89b91f1d2f1ebdd242165f38ffdd0aba7da6889a658c682a9f115b19cb0f80aa919e24e81b88e4e4a19ccd3fb1d82d4dc889e09d96c
|
7
|
+
data.tar.gz: cc18bdebfaa2fd957d642dc9b0388bb2da1dc246f6a36d42a59e7b9fc60d9e4b493daa2028c4faa4917bf87d9b2d5a23372327c5b053e0ffe80d3b003fd7906b
|
data/lib/posting_zon.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'glimmer-dsl-libui'
|
2
2
|
require 'selenium-webdriver'
|
3
|
-
|
3
|
+
require 'webdrivers'
|
4
4
|
require 'iconv'
|
5
5
|
require 'nokogiri'
|
6
6
|
require 'open-uri'
|
@@ -28,10 +28,11 @@ using Rainbow
|
|
28
28
|
|
29
29
|
class Naver
|
30
30
|
def initialize
|
31
|
-
|
31
|
+
|
32
32
|
begin
|
33
33
|
# webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
|
34
|
-
|
34
|
+
puts "크롬을 최신 상태로 업데이트 해주세요"
|
35
|
+
puts "크롬 최신 상태가 아닐경우 오류가 발생될수있습니다."
|
35
36
|
# Webdrivers가 드라이버를 다운로드할 경로를 설정
|
36
37
|
Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
|
37
38
|
Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
|
@@ -46,7 +47,7 @@ class Naver
|
|
46
47
|
chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
|
47
48
|
Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
|
48
49
|
end
|
49
|
-
|
50
|
+
|
50
51
|
end
|
51
52
|
|
52
53
|
|
@@ -68,7 +69,6 @@ class Naver
|
|
68
69
|
FileUtils.mkdir_p(board_cookie_dir) unless File.exist?(board_cookie_dir)
|
69
70
|
if proxy == ''
|
70
71
|
begin
|
71
|
-
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
72
72
|
options = Selenium::WebDriver::Chrome::Options.new
|
73
73
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
74
74
|
#options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -101,7 +101,6 @@ class Naver
|
|
101
101
|
end
|
102
102
|
else
|
103
103
|
begin
|
104
|
-
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
105
104
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
106
105
|
options = Selenium::WebDriver::Chrome::Options.new
|
107
106
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
@@ -131,7 +130,6 @@ class Naver
|
|
131
130
|
puts e
|
132
131
|
puts 'proxy error...'
|
133
132
|
begin
|
134
|
-
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
135
133
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
136
134
|
options = Selenium::WebDriver::Chrome::Options.new
|
137
135
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
@@ -699,7 +697,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
699
697
|
wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
|
700
698
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
701
699
|
|
702
|
-
sleep(
|
700
|
+
sleep(5)
|
703
701
|
rescue => e
|
704
702
|
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
705
703
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -746,7 +744,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
746
744
|
|
747
745
|
#@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
748
746
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
749
|
-
sleep(
|
747
|
+
sleep(5)
|
750
748
|
rescue => e
|
751
749
|
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
752
750
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -790,7 +788,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
790
788
|
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
791
789
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
792
790
|
|
793
|
-
sleep(
|
791
|
+
sleep(5)
|
794
792
|
rescue => e
|
795
793
|
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
796
794
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -2816,13 +2814,8 @@ login_url = option['login_url'].to_s
|
|
2816
2814
|
wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
|
2817
2815
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
2818
2816
|
|
2819
|
-
sleep(
|
2820
|
-
rescue
|
2821
|
-
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
2822
|
-
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2823
|
-
puts e
|
2824
|
-
@driver.close
|
2825
|
-
return 0
|
2817
|
+
sleep(5)
|
2818
|
+
rescue
|
2826
2819
|
end
|
2827
2820
|
end
|
2828
2821
|
rescue
|
@@ -2863,13 +2856,8 @@ login_url = option['login_url'].to_s
|
|
2863
2856
|
|
2864
2857
|
#@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
2865
2858
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
2866
|
-
sleep(
|
2867
|
-
rescue
|
2868
|
-
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
2869
|
-
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2870
|
-
puts e
|
2871
|
-
@driver.close
|
2872
|
-
return 0
|
2859
|
+
sleep(5)
|
2860
|
+
rescue
|
2873
2861
|
end
|
2874
2862
|
end
|
2875
2863
|
rescue
|
@@ -2907,13 +2895,8 @@ login_url = option['login_url'].to_s
|
|
2907
2895
|
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
2908
2896
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
2909
2897
|
|
2910
|
-
sleep(
|
2911
|
-
rescue
|
2912
|
-
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
2913
|
-
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2914
|
-
puts e
|
2915
|
-
@driver.close
|
2916
|
-
return 0
|
2898
|
+
sleep(5)
|
2899
|
+
rescue
|
2917
2900
|
end
|
2918
2901
|
end
|
2919
2902
|
rescue
|
@@ -3694,8 +3677,12 @@ login_url = option['login_url'].to_s
|
|
3694
3677
|
@driver.find_element(:xpath, '//*[@class="username"]').send_keys(user_id)
|
3695
3678
|
sleep(3)
|
3696
3679
|
rescue
|
3680
|
+
begin
|
3681
|
+
@driver.find_element(:xpath, '//*[@data-key="username"]').send_keys(user_id)
|
3682
|
+
sleep(3)
|
3683
|
+
rescue
|
3684
|
+
end
|
3697
3685
|
end
|
3698
|
-
|
3699
3686
|
end
|
3700
3687
|
end
|
3701
3688
|
end
|
@@ -3795,8 +3782,13 @@ login_url = option['login_url'].to_s
|
|
3795
3782
|
@driver.find_element(:xpath, '//*[@id="ol_pwlabel"]').send_keys(user_pw)
|
3796
3783
|
sleep(1)
|
3797
3784
|
rescue
|
3798
|
-
|
3799
|
-
|
3785
|
+
begin
|
3786
|
+
@driver.find_element(:xpath, '//*[@data-key="user_password"]').send_keys(user_pw)
|
3787
|
+
sleep(1)
|
3788
|
+
rescue
|
3789
|
+
|
3790
|
+
@driver.action.key_down(:tab).key_up(:tab).perform #x탭
|
3791
|
+
end
|
3800
3792
|
end
|
3801
3793
|
end
|
3802
3794
|
end
|
@@ -3897,8 +3889,15 @@ login_url = option['login_url'].to_s
|
|
3897
3889
|
puts '-[√] 로그인 버튼 코드 15 타겟.......'.cyan
|
3898
3890
|
sleep(3)
|
3899
3891
|
rescue
|
3900
|
-
|
3901
|
-
|
3892
|
+
begin
|
3893
|
+
@driver.find_element(:xpath, '//*[@id="um-submit-btn"]').click
|
3894
|
+
puts '-[√] 로그인 버튼 코드 15 타겟.......'.cyan
|
3895
|
+
sleep(3)
|
3896
|
+
rescue
|
3897
|
+
|
3898
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
3899
|
+
sleep(3)
|
3900
|
+
end
|
3902
3901
|
end
|
3903
3902
|
end
|
3904
3903
|
end
|
@@ -4364,7 +4363,7 @@ post_url = option['post_url'].to_s
|
|
4364
4363
|
wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
|
4365
4364
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
4366
4365
|
|
4367
|
-
sleep(
|
4366
|
+
sleep(5)
|
4368
4367
|
rescue => e
|
4369
4368
|
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
4370
4369
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -4411,7 +4410,7 @@ post_url = option['post_url'].to_s
|
|
4411
4410
|
|
4412
4411
|
#@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
4413
4412
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
4414
|
-
sleep(
|
4413
|
+
sleep(5)
|
4415
4414
|
rescue => e
|
4416
4415
|
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
4417
4416
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -4455,7 +4454,7 @@ post_url = option['post_url'].to_s
|
|
4455
4454
|
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
4456
4455
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
4457
4456
|
|
4458
|
-
sleep(
|
4457
|
+
sleep(5)
|
4459
4458
|
rescue => e
|
4460
4459
|
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
4461
4460
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -5967,6 +5966,19 @@ begin
|
|
5967
5966
|
rescue
|
5968
5967
|
end
|
5969
5968
|
|
5969
|
+
begin
|
5970
|
+
#요소 자체 제거 하기 기능
|
5971
|
+
|
5972
|
+
chat_box = @driver.find_element(:xpath, '//*[@title="reCAPTCHA"]')
|
5973
|
+
@driver.execute_script("arguments[0].remove();", chat_box)
|
5974
|
+
puts '방해 code 제거 완료.......'.green
|
5975
|
+
sleep(1)
|
5976
|
+
rescue
|
5977
|
+
end
|
5978
|
+
|
5979
|
+
|
5980
|
+
|
5981
|
+
|
5970
5982
|
|
5971
5983
|
title = title.strip
|
5972
5984
|
##제목 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
@@ -6525,6 +6537,7 @@ begin
|
|
6525
6537
|
##내용 입력 필드 코드 부분─────────────────────────────────────────────────────────────────────>
|
6526
6538
|
#puts '-[√] 내용 입력 부분 탐색 시작.......'.yellow
|
6527
6539
|
#sleep(1)
|
6540
|
+
|
6528
6541
|
begin
|
6529
6542
|
@driver.find_element(:xpath, '//*[@name="content"]').click
|
6530
6543
|
sleep(1)
|
@@ -6578,6 +6591,11 @@ rescue
|
|
6578
6591
|
sleep(1)
|
6579
6592
|
puts '내용 항목 코드 타겟 9.......'.red
|
6580
6593
|
rescue
|
6594
|
+
begin
|
6595
|
+
@driver.find_element(:xpath, '//*[@class="kboard-content"]').click
|
6596
|
+
sleep(1)
|
6597
|
+
puts '내용 항목 코드 타겟 9-1.......'.red
|
6598
|
+
rescue
|
6581
6599
|
begin
|
6582
6600
|
#아이프레임에서 코드 선택
|
6583
6601
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@scrolling="no"]'))
|
@@ -6748,9 +6766,16 @@ rescue
|
|
6748
6766
|
sleep(1)
|
6749
6767
|
puts '내용 항목 코드 타겟 39.......'.red
|
6750
6768
|
rescue
|
6751
|
-
|
6769
|
+
begin
|
6770
|
+
@driver.find_element(:xpath, '//*[@class="kboard-attr-row kboard-attr-content required"]').click
|
6771
|
+
sleep(1)
|
6772
|
+
puts '내용 항목 코드 타겟 40.......'.red
|
6773
|
+
rescue
|
6774
|
+
|
6775
|
+
end
|
6752
6776
|
end
|
6753
6777
|
end
|
6778
|
+
end
|
6754
6779
|
end
|
6755
6780
|
end
|
6756
6781
|
end
|
@@ -7851,7 +7876,7 @@ if check_captcha == 1
|
|
7851
7876
|
sleep(1)
|
7852
7877
|
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
7853
7878
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
7854
|
-
sleep(
|
7879
|
+
sleep(5)
|
7855
7880
|
begin
|
7856
7881
|
@driver.find_element(:xpath, '//*[@name="user_captcha"]').click
|
7857
7882
|
sleep(1)
|
@@ -8809,7 +8834,7 @@ sleep(10)
|
|
8809
8834
|
sleep(1)
|
8810
8835
|
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
8811
8836
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
8812
|
-
sleep(
|
8837
|
+
sleep(5)
|
8813
8838
|
begin
|
8814
8839
|
@driver.find_element(:xpath, '//*[@name="user_captcha"]').click
|
8815
8840
|
sleep(1)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posting_zon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.73
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: posting app
|
14
14
|
email: mymin26@naver.com
|