1. 파이썬을 사용해서 댓글 반복 작성하는 프로그램을 만드려고함
2. BeautifulSoup으로 게시글 url에 들어갈 id 파악
3. pyautogui, pyperclip로 키보드와 마우스 제어
import requests
from bs4 import BeautifulSoup
import pyautogui
import pyperclip
import html
def findUrl(page):#page내 게시글 URL 파악후 리스트로 반환
url1="(주소생략)" #http://(사이트주소).php?(게시판)
response= requests.get(url1)
url2="&page="+str(page)+"&wr_id="
url=[]
if response.status_code==200:
soup=BeautifulSoup(response.content,'html.parser')
td = soup.select('.l_num')
td=td[1:]
for ntd in td:
tmp=url1+url2+ntd.text.strip()
url.append(tmp)
return url #ex) url[0] = http://(사이트주소)/board.php?table=1&page=1&wr_id=123456"
def writeEnter(): #게시글 작성
pyperclip.copy("(내용)") # typewrite는 한글 입력안됨. 클립보드에 텍스트를 복사합니다.
pyautogui.hotkey('ctrl', 'v') # 클립보드 내용붙여넣기
pyautogui.press("tab") # 댓글상자 넘어감(작성or보내기)
pyautogui.press("enter") # 작성(보내기)상자 엔터
if __name__== "__main__":
#1. 페이지 내 게시글 주소 가져오기
url=findUrl(1)
#2. 게시글 내 댓글달기
while(url!=[]): #리스트 안에 내용이 있는경우에만 진행
print(len(url)) #얼마나 남았는지 확인
#2-1. 주소창 클릭 및 게시글 이동, x,y좌표는 print(pyautogui.position())로 찾음
pyautogui.click(x=342, y=110, button='left', clicks=1,interval=1)
pyautogui.press("delete")
pyautogui.typewrite(url.pop())
pyautogui.press("enter")
#2-2 댓글작성 상자 위치 파악 (맨밑으로 내리고 일정값 이상 올림,불변)
pyautogui.click(x=83, y=973, button='left', clicks=1,interval=2)
pyautogui.press("pagedown")
pyautogui.press("end")
for i in range(0,14):
pyautogui.press("up")
pyautogui.click(x=246, y=240, button='left', clicks=1,interval=1)
#3 댓글달기
writeEnter()
#엔터 안눌리는 것을 대비해 작성(보내기)상자 클릭, 클릭후 3초정도 대기
pyautogui.click(x=862, y=260, button='left', clicks=1,interval=3)
'STUDY > Python' 카테고리의 다른 글
파이썬 객체지향(클래스, 인스턴스, 상속) (0) | 2021.01.05 |
---|---|
파이썬 셋, 딕셔너리 (0) | 2021.01.03 |
HTML5 동영상 다운로드 (1) | 2020.09.03 |
[혼자 공부하는 파이썬] 6주차 기본 미션 및 선택 미션 (0) | 2019.11.16 |
[혼자 공부하는 파이썬] 6주차 02 - 8장 (0) | 2019.11.16 |