Python

파이썬으로 네이버 카페 댓글 자동으로 작성하기 - 갯수 한정

디벨로펄 2024. 10. 30.
반응형

안녕하세요 디벨로펄입니다.

 

웨딩 관련해서 네이버 카페에 댓글 하루에 10개를 달면 1000원을 벌 수 있습니다.

한 달 최대 10개이니 총 1만 원인셈이지요

 

하지만, 챙기는게 너무 귀찮고 힘듭니다.

 

카페 댓글 10개정도면, 

파이썬으로는 충분히 가능할 것 같지 않나요?

 

맞습니다.

매우 쉽게 가능합니다.

 

 

이 글에서는 댓글 자동화 프로세스와
구현 과정에 대해서 말씀드리도록 하겠습니다.


요약

  • 프로젝트 개요 및 정리
  • 카페 댓글 자동 작성 프로세스
  • 구현 원리
  • 상세 코드

 

프로젝트 개요 및 정리

  • 총 소요시간 : 5시간
  • 주요 이슈 : 네이버 로그인 자동화(네이버에서 로그인 자동화 기능을 막아둠)
  • 언어 : python
  • 라이브러리 :  selenium, openai
  • 배운점
    • python에서 GPT API를 활용하는 방법 습득
    • selenium으로 유의미한 프로그램 개발 가능성 

카페 댓글 자동 작성 프로세스

프로세스는 다음과 같습니다.

1. 네이버 로그인

2. 카페 진입

3. 게시판 선택

4. 댓글 달 게시물 선택 및 댓글 달기

(댓글다는 단계에서 GPT를 활용해 매크로성 댓글이 아닌 실제 사람이 단 댓글처럼 꾸몄습니다.)


 

구현 원리

selenium을 활용하여 웹페이지를 제어하여 구현했습니다.

모든 프로그램은 아주 작은 기능이 모여서 만들어집니다.

핵심은 다음과 같습니다.

get, switch_to, find_element, send_keys, click

이 메서드를 적재적소에 활용하여 원하는 기능을 구현하면 됩니다.

 

1. 웹페이지 진입 - get(url)

2. iframe 전환 - 가끔 사용되나 필수임 - switch_to.frame(iframe)

driver = webdriver.Chrome()
# 핵심 1. 웹페이지 진입
driver.get(url) 

# 핵심 2. iframe 전환
iframe = WebDriverWait(self.driver, 10).until(
            EC.presence_of_element_located((By.CSS_SELECTOR, iframe_selector)))
driver.switch_to.frame(iframe)

 

3. 객체를 찾아서 값을 가져온다. - find_element

# 핵심3. 객체를 찾아서 값을 가져온다.
selector = f"#main-area > div:nth-child(4) > table > tbody > tr:nth-child({n}) > td.td_article > div.board-list > div > a"
a_element = driver.find_element(By.CSS_SELECTOR, selector)
posts.append({
	"title": a_element.text,
	"link": a_element.get_attribute("href")
})

 

4. 값을 입력한다 - send_keys

# 댓글 입력 창 찾기
comment_box = WebDriverWait(self.driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR,
                                    "#app > div > div > div.ArticleContentBox > div.article_container > "
                                    "div.CommentBox > div.CommentWriter > div.comment_inbox > textarea"))
)
# 댓글 입력
comment_box.send_keys(comment_text)

 

5. 버튼을 클릭한다. - click()

submit_button = driver.find_element(By.CSS_SELECTOR,
                                         "#app > div > div > div.ArticleContentBox > "
                                         "div.article_container >"
                                         "div.CommentBox > div.CommentWriter > div.comment_attach > "
                                         "div.register_box > a")
submit_button.click()

상세코드

상세코드는 git을 참조해주세요~


https://github.com/dhdnjswnd/python_automation

반응형

댓글