디시 매크로 만들기 셀레니움 코드

Posted by 슈퍼너드 리보
2020. 5. 22. 01:08 프로그래밍/파이썬
반응형

디시 매크로 만들기 최신버젼 코드 만들어보았습니다. 파이썬 관련 지식이 어느정도 갖고 있는분들이라면 이걸 가지고 얼마든지 디시 글쓰기 매크로 만들 수 있을겁니다.

먼저 가상환경에서 selenium을 pip 설치해줍시다. 그런 다음 파이썬 에디터 파이참이나 아톰 같은 프로그램으로 다음과 같은 코드를 입력해줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

import time
 
  
from selenium import webdriver
  
 
 
 
 
 
options = webdriver.ChromeOptions()
 
 
 
#options.add_argument('headless')
 
#options.add_argument("disable-gpu")
 
 
 
 
 
options.add_argument('window-size=1920x1080')
 
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36")
 
 
 
#chrome_options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36")
 
 
 
 
 
 
 
 
 
driver = webdriver.Chrome('C:/python/chromedriver.exe',options=options) #크롬버젼과 맞는걸로
 
driver.get("https://gall.dcinside.com/mgallery/board/lists?id=~"#갤러리 목록 주소
 
 
 
driver.implicitly_wait(3)
 
time.sleep(3)
 
driver.get("https://gall.dcinside.com/mgallery/board/write/?id=~"#갤러리 글쓰기 주소
 
time.sleep(3)
 
 
 
driver.find_element_by_name('name').send_keys(u'킹갓엠페러')#닉네임
 
driver.implicitly_wait(1)
 
time.sleep(2)
 
 
 
driver.find_element_by_name('password').send_keys(u'12345')#비밀번호
 
driver.implicitly_wait(1)
 
time.sleep(3)
 
 
 
driver.find_element_by_name('subject').send_keys(u'ㅎㅇ 여러분들')#제목
 
 
 
driver.implicitly_wait(1)
 
time.sleep(30)
 
 
 
driver.switch_to_frame(driver.find_element_by_xpath("//iframe[@name='tx_canvas_wysiwyg']"))
 
time.sleep(1)
 
 
 
 
 
driver.find_element_by_tag_name("body").send_keys(u"ㅎㅇㅎㅇ")
 
time.sleep(1),
 
 
 
#글등록
 
driver.switch_to_default_content()
 
time.sleep(30),
 
 
 
 
 
driver.find_element_by_css_selector('.btn_blue.btn_svc.write').click()
cs

크롬 드라이버를 경로에 지정해줍니다. 크롬드라이버는 버젼별로 있는데 여러분들 크롬 버젼과 맞아야 합니다. (크롬 속성에 버젼 몇인지 알 수 있습니다.) time 모듈을 중간중간 너어줬습니다. 이렇게 해줘야 디시 서버에서 여러분들이 차단 되는걸 피해 우회하기 위해선 이 코드고 꼭 필요합니다. 또한 중간에 유저브라우저 값을 여러분의 컴퓨터 값이나 타컴퓨터의 값과 동일하게 해줘야 합니다. 이작업을 하지 않을 경우 디시서버에서 차단되고 말겁니다.

반응형