프로그램 클리앙 자동 글쓰기 파이썬 프로그램 소스 (Clien Auto Write)
- 운영자
- 3432
- 0
첨부 2
- screenshot.gif (File Size: 1.32MB/Download: 3)
- clien_auto_write.zip (File Size: 19.03MB/Download: 78)
클리앙에 자동으로 글을 쓰는 프로그램입니다.
기능.
1. 자동 로그인 기능
2. 제목 및 내용 입력
3. 반복 횟수 및 인터벌 자유 설정 기능
4. user-agent 수정 기능
5. chromedrive 버전 선택 기능
# -*- coding: utf-8 -*- # write.py from selenium import webdriver import time import configparser Config = configparser.ConfigParser() #config 파일 로드 Config.read('./info.conf', "utf-8") id = Config.get('clien', 'id') pw = Config.get('clien', 'pw') title = Config.get('clien', 'title') content = Config.get('clien', 'content') chromedriver = Config.get('clien', 'chromedriver') agent = Config.get('clien', 'agent') t_board = Config.get('clien', 't_board') repeat = Config.get('clien', 'repeat') repeat = int(repeat) interval = Config.get('clien', 'interval') URL = 'https://www.clien.net/service/' options = webdriver.ChromeOptions() print(" ################################################") print("") print(" 클리앙 자동 글쓰기 프로그램을 시작합니다.") print(" ") print(" 사용법") print(" contents는 태그제외 3자 이상 입력해야 합니다. (html 사용가능)") print("") print(" ################################################") #headless 모드 options.add_argument('headless') options.add_argument('window-size=1920x1080') options.add_argument("disable-gpu") 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") #user-agent 변경 options.add_argument(agent) #크롬 드라이버 로드 driver = webdriver.Chrome(chromedriver, options=options) driver.implicitly_wait(3) #메인 페이지 로드 driver.get(URL) # plugins 탐지 우회 driver.execute_script("Object.defineProperty(navigator, 'plugins', {get: function() {return[1, 2, 3, 4, 5]}})") # lanuages 탐지 우회 driver.execute_script("Object.defineProperty(navigator, 'languages', {get: function() {return ['ko-KR', 'ko']}})") # gpu 탐지 우회 driver.execute_script("const getParameter = WebGLRenderingContext.getParameter;WebGLRenderingContext.prototype.getParameter = function(parameter) {if (parameter === 37445) {return 'NVIDIA Corporation'} if (parameter === 37446) {return 'NVIDIA GeForce GTX 980 Ti OpenGL Engine';}return getParameter(parameter);};") time.sleep(3) #로그인 구간 driver.find_element_by_name('userId').send_keys(id) driver.find_element_by_name('userPassword').send_keys(pw) driver.find_element_by_name('로그인하기').click() print("") print(" 로그인에 성공하였습니다. ") print(" 글쓰기 페이지로 이동합니다.") for i in range(0, repeat): # 글작성 페이지 로드 driver.get(t_board) time.sleep(3) #글작성 구간 driver.find_element_by_class_name('input_title').send_keys(title) driver.find_element_by_class_name("fr-element").send_keys(content) driver.find_element_by_class_name("button-agree").click() print(f' {repeat}중 {i}회가 시행되었습니다.') time.sleep(int(interval)) print(f" {title}란 제목의 글쓰기가 총 {repeat}회 성공하였습니다. 5초후 종료합니다.") time.sleep(5) driver.quit()
[clien] chromedriver = ./chromedriver_78.exe agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 t_board = https://www.clien.net/service/board/regist?boardCd=park id = userid pw = userpasswd title = 제목을 넣습니다. content = 내용을 넣습니다. repeat = 5 interval = 5
설정파일 info.conf 파일 설명
chromedriver = 자신이 사용하는 크롬의 버전에 맞는 드라이버를 선택합니다.
t_board = 포스팅할 게시판 쓰기 주소를 입력합니다.
repeat = 반복할 횟수
interval = 글쓰는 간격 초단위
소스를 보시면 일반적인 사이트는 거의 동일하게 작동이 가능합니다.
https://www.clien.net/service/board/lecture/8391497 를 참고하여 기능을 추가하였습니다.
이런 글도 찾아보세요!
댓글 0
권한이 없습니다. 로그인