파이썬 python/자동화

다이랙트 결혼준비 웨딩카페 포인트 댓글, 좋아요 자동 프로그램 개발기 | 파이썬 tkinter .exe파일 | chatGPT api 활용

Aytekin 2025. 10. 28. 17:06
728x90
반응형

1. 준비할 것

우선 이 프로그램을 돌리려면 openai api key가 필요하다.

 

 

chatGPT의 모델을 chatgpt페이지가 아닌 나의 프로그램과 연결시켜 사용하려면, api라는것을 이용해야 한다.

무료로 api를 공개하는 서비스도 많지만 chatGPT는 유료로만 이용할 수 있다.

 

https://openai.com/ko-KR/api/

위의 페이지에 가서 계정 만들고, 돈을 충전하고 api키를 받아놓아야 한다.

최소 5$은 충정해야 하는것 같다.

 

이런식으로 api키를 발급하는데 성공했다면 우선 준비해야할 것은 다 마친 것이다

2. 사용 라이브러리 및 개발 환경

사용 스펙 및 라이브러리는 다음과 같다.

  • python 3.11.2
  • openai => openai api를 사용하기 위한 라이브러리
  • selenium => 네이버 계정 로그인 및 크롬 브라우저 제어를 위한 필수라이브러리다
  • pyperclip => 네이버 로그인 시 캡차를 피하기 위해 사용한다
  • pyinstaller => 개발 완료 후 exe파일로 내려받아 편리하게 사용할 때 
  • tkinter => GUI인터페이스 개발을 위한 파이썬 라이브러리다. 비록 UI는 구식이지만 편리하다.

자세한 라이브러리 설치 리스트는 깃헙의 requirements.txt를 참고하시길..

pip install -r requirements.txt  #다들 아시죠?ㅎㅎ

 

  • OS : 윈도우(Window)

내가 Mac이랑은 친하지가 않아서... 윈도우에서만 해봤고 맥은 안해봤다. 아마도 안될거다..

 

3. 프로젝트 개요

3.1 프로젝트 디랙토리 구조

아래의 3개의 파이썬 파일로 이 프로젝트를 구성하였다.

  • main.py
    tkinter 앱 관련 내용을 선언하고, 네이버 카페 관련 기능들을 처리해줄 NaverCafeBot이라는 클래스 2가지로 이루어져 있다.
  • helpers.py
    글자수를 세고, 텍스트 전처리하는 등의 util용 함수를 정의하였으며, 댓글 생성 시 사용할 프롬프트와 함수를 정의하였다.
  • config.py
    설정값들을 정의하는 부분이다. 네이버 아이디, LLM설정값, 댓글 달 개수, 최대 페이지 개수, 좋아요 할지 말지 등등 여러가지 설정값들은 다 여기에 모았다.

 

3.2 주요 기능

이 프로젝트의 주요 기능은 다음과 같다

  • 자동 로그인
    네이버 ID / 비밀번호를 받아 selenium/ pyperclip 을 이용한 자동 로그인
  • 커뮤니티 별 최적화된 프롬프트 사용
    웨딩카페 내에 여러가지 커뮤니티/ 리뷰 파트로 구분되어 있다. 각 게시글에 맞게 LLM이 댓글을 쓰는 것을 돕기위해서 프롬프트를 커뮤니티/ 리뷰 파트별로 최적화하였다
  • LLM 기반 댓글 생성 및 자동 등록
    현재 게시글의 제목+내용을 읽고 적절한 댓글을 작성하고 등록할 수 있다.
    gpt모델(gpt-4o-mini, gpt-4.1-mini등등..), 댓글 톤(따뜻, 담백, 친근, 유머러스), 댓글길이(길게, 중간, 짧게)을 사용자가 선택하여 사용할 수 있다.
  • 자동 좋아요
    해당 게시글에 자동 좋아요를 수행할 수 있다.
  • (로컬환경 한정) 개인정보 저장
    민감한 개인정보(아이디, 패스워드, api키 등)을 하드코딩하는건 매우 위험한 방식이다. 최소한의 보안로직이 필요한데 내가 사용한 방법은 로컬환경에 파일을 하나 쓰고 거기에 개인정보를 저장하고 읽어오는 방식이다.
    프로그램을 실행할 때 마다 개인정보를 쓰는것도 귀찮기 때문에...

    (나중엔 클라우드 서버에서 매일 1번씩 자동으로 돌도록 해봐야겠다.)
  • 로그 표시 및 로그 레벨 필터링
    프로그램이 돌아가면서 찍어내는 로그들을 볼 수 있도록 창을 만들었고, 로그 레벨을 선택할 수도 있도록 하였다.

3.3 플로우(Flow)

 

간단하게 그린 이 프로젝트 로직의 흐름이다.

당연한 흐름이 아닌가 싶다.

 

사람이 원래 해야하는 흐름을 그대로 파이썬이 하도록 한 것 뿐이다.

4. 소회

자동화에 대한 생각이 많아지는 요즘이다.

시대는 하루하루 빠르게 흘러가고 변해가고 있음을 많이 느낀다.

똑똑한 사람, 아이디어 좋은 사람 너무나 많다....;;

 

그 속에서 내가 어떻게 살아가면 좋을까 고민이 많이 되고

우선은 내가 있는 상황에서 내가 가진 기술로 할 수 있는 것들을 하면서 길을 찾아나가보자고 생각했다.

 

그래서 커피값 벌기 위해서 매일 노가다로 하던 댓글작업을 자동화하여 시간을 세이브 해볼까 하는 생각에서 시작했다.

 

이게 윤리적인 측면에서 그리고 이 카페를 운영하는 회사의 정책상 맞지 않을수도 있다.

그래서 나는 하루에 10개만 돌릴 생각이다.

(어짜피 api비용이 더 나올거 같다... 생각보다 openai비용이 비싸다)

 

여튼 소감은 해보니 된다는 것이다.

시간은 좀 오래걸린거 같고

이걸 정리하는데 사실 더 오랜시간이 걸린거 같은데

그래도 해놓고 이렇게 글을 쓰는 시간이 보람되고 좋은것 같다.

 

5. 코드

(관련 코드 및 깃헙 링크)

https://github.com/aytekin827/dw_comment_automation

 

728x90
반응형