brunch

You can make anything
by writing

C.S.Lewis

by 누리 Jun 19. 2024

코딩으로 SNS 댓글 자동화(with 챗GPT)

코딩의 ㅋ도 모르는 비개발자의 소소한 SNS 자동화

저는 SNS 활동을 좋아하는데 싫어합니다… 응? 게시글을 올리는 건 좋아하는데, 팔로워들과 소통은 잘 못해요. 소통 잘하시는 분들 정말 리스펙 합니다.

하지만 세상이 늘 그러하듯 인생은 기브엔 테이크인고, 관심을 받으려면 관심을 줘야 쓰죠. 그래서 만들어보고 있습니다! SNS 자동 소통봇! 제가 작년 이맘때쯤 코딩의 ㅋ도 모를 때 인스타 소통봇을 만든 적이 있었는데요 - 당시보다 진화된 서비스를 구현 중입니다.


참고로 모든 과정은 GPT-4o가 코드를 짜줬음을 서두에 밝힙니다.



최근 핫하다는 Treads.net에 소통봇 만들기


� 이렇게 해볼 겁니다 _ 과정 요약  

    파이썬 코드로 구현 → 코드를 실행하면  

    자동으로 로그인이 됨
단 코드 돌릴 때마다 로그인을 하면 비정상적 활동으로 계정이 막힐 수 있으므로 이를 피할 수 있는 장치 마련
1) 로그인 세션을 유지해서 매번 로그인하지 않게 하기
2) 각 단계 별로 랜덤 한 시간 차이를 두고 클릭 등을 하게 해서 자동봇 티를 덜 내게 하기            

    최상단에 뜨는 다른 유저의 포스팅을 크롤링  

    한글 답변을 잘한다는 Cluade API를 활용해서 자연스러운 답변을 생성                  생성된 답변을 보고 마음에 들면 Y, 아니면 N을 누름                     N 누르면 다른 답변이 생성됨            

    Y를 누르면 - 이후 좋아요 클릭, 위에서 생성된 답변이 자동으로 달림    

    원할 때까지 각 포스트에 위 과정이 반복됨  


→ 하여 약간 음에 영역에 있긴 하지만, 결과적으로는 댓글을 하나하나 검수해서 달게끔 하는 나름 인간적인 서비스로 구현할 예정입니다. 세부 과정은 아래에서 계속!


잠시 제 스레드 홍보하고 가실게요?! 스레드 링크



자동으로 로그인하기

selenium이라는 걸 이용하면 - 웹 브라우저를 제어해서 자동으로 동작하게 할 수 있습니다. 저도 정확한 개념은 잘 모르지만… 웹페이지를 띄워서 - 로그인 박스를 찾아서 계정과 비밀번호를 입력하고 ‘로그인’ 버튼을 자동으로 누르게 구현할 수 있습니다.


그러기 위해서는 코드에게 → 로그인 박스 위치가 어디고, 비밀번호 넣는 박스 위치가 어딘지 알려줘야겠죠? F12 개발자도구를 누르면 그게 어딘지 알 수 있습니다. xPath라고 약속된 위치를 알려주면 됩니다.  

    개발자 도구를 켜고 ctrl + shift + c를 누른 후, 마우스 오버해서 영역을 지정하면 - 해당 영역의 class? path를 알려줍니다. 일단 잘 모르면 저 화살표 부분을 복사해서 chatgpt한테 주고 - 이게 ID를 넣는 부분인데, 코드 짜줘라 하면 짜줍니다.  

    마찬가지로 비밀번호의 영역, 로그인 버튼의 영역을 하나씩 따서 - chatgpt에게 주면 이제 프로그램이 어디에 ID, 비번을 입력하고, 입력 후 로그인 버튼을 눌러야 하는지 알게 됩니다.


비정상적 계정으로 막히지 않게 처리  

이런 자동 로그인 코드 및 실행을 계속 돌리다 보면 계정이 막힐 수 있습니다. 이벤트 사이에 랜덤 하게 딜레이를 주는 코드를 짜달라고 하면 간단히 만들어줍니다.  

    그리고 한 번 로그인하면 세션이 유지되는 코드를 짜달라고 합니다. 이 부분은 조금 애를 먹었습니다. ChatGPT에게 무한 질문으로 해결…  



상단 포스팅 크롤링  

로그인 직후에 바로 보이는 상위 3개 포스트를 크롤링해 달라고 했습니다. 이때도 앞서 ID, 비밀번호, 로그인 버튼 경로를 알려준 xPath를 지정해줘야 합니다.

    마찬가지로 저 영역을 잡고 복사해서 ChatGPT에게 주고 - 저 부분 텍스트를 크롤링할 거니까 코드를 짜달라고 하면 짜줍니다. 물론 역시 삽질의 과정은 있었습니다.  

코드를 짜고 실행하면 > 터미널에 이렇게 포스트 본문이 크롤링되는 걸 확인할 수 있습니다. (나이스)


자동 댓글 생성하기  

    앞서 언급했듯, 한국어에 능한 Claude Opus API를 활용해서 댓글을 생성해 보겠습니다. 이때 중요한 것은 예시를 주는 거쥬. 저는 3개 정도 예시 포스트에 - 각각 댓글을 프롬프트로 줬습니다.  


    참고로 Claude API를 호출하는 코드를 짜달라고 하면 지피티가 잘 못 짜줍니다. API 호출 방식이 조금씩 변경되어서 그럴 텐데요, 저는 Claude 개발자 공식 문서 페이지에 들어가서 - 활용 예제를 복사해서 ChatGPT에게 주고, 활용예제와 유사한 형태로 짜달라고 했습니다. (이렇게 하기까지 역시 많은 삽질이 있었습니다)  

그리고 결과는? 살짝 오글토글하지만 그래도 AI 느낌이 덜 나는 댓글이 생성되었습니다.



마음에 드는 댓글이 나올 때까지 재생성하기  

    댓글 생성 후 마음에 드는지 묻고 → 아니라면 다시 생성해 주는 코드를 추가했습니다. 이건 매우 잘 짜주더군요 지피티 녀석



그리고 가야 할 길…

이제 위에서 생성된 댓글을 해당 포스트에 자동으로 달고, 좋아요 누르고 - 다음 포스트에도 동일한 작업을 반복하도록 코드를 계속 이어서 짜야하는데 생각보다 진도가 잘 나가지 않고 무한 오류의 늪에 빠져 동력을 좀 잃고 있습니다. 위에 게시글로 설명한 내용도 제가 간단히만 써서 그렇지 거의 5시간 정도 코딩에 소요한 것 같습니다. ㅋㅋㅋㅋ 휴 


하지만 계속 삽질하다 보면 언젠가 성공하리라는 믿어 의심치 않습니다 하핫

그 와중에 6/18 - 무려 어제 Threads에서 API를 공개했다고 하네요…? API 비용도 무료고? ㅋㅋㅋ 지금까지 삽질하며 코드를 짜왔던 세월이 무상해지는 발표였으나… 비개발자이기 때문에 개발자 문서를 보고 잘 이해할 자신도 없는 건 안 비밀 �


이렇게 마지막으로 스레드 홍보 한 번 더 하며 이번 글은 마무리합니다. 다음에는 성공썰로 돌아올게요. 
� 누리 스레드 구경 가기


함께 읽으면 좋은 글




윤누리

운동과 술을 사랑하는 자유로운 영혼. 석유화학회사를 때려치우고 와인 공부하다 스타트업에 정착했다. 창의성과 영감이 샘솟는 삶을 위해, 인생을 변화시킨 사람과 문장들을 수집 중이다.


(현) 국내 최대 인공지능 커뮤니티 지피터스, 커뮤니티 리더

'일곱잔' 와인바 사장 @신사


(전) 와이아웃 커뮤니티, 운영 리드

와디즈 경영추진팀

패스트파이브 커뮤니티 크리에이터팀

독일 UNCCD(유엔사막화 방지기구) FCMI 팀

석유화학회사 환경안전경영팀

서울대학교 과학교육, 글로벌환경경영 전공

산림청 주관, 유네스코 - DMZ 지역 산림 생태 연구 인턴

한국장학재단 홍보 대사

4-H 동시통역사, 캐나다 파견 대표

서울대학교 아시아 연구소 1기 인턴 팀장

서울대학교 국제 협력본부 학생대사 이벤트 팀장

와인 21 객원 기자, 레뱅드매일, 파이니스트 와인 수입사 홍보 대사

매거진의 이전글 카카오톡 챌린지 인증, 카운팅 프로그램 만들기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari