IT/윈도우(Windows)

네이버 포스트 댓글 수집(스크래핑/크롤링) 프로그램 자작, 간단한 사용법

레이니아 2024. 3. 25. 07:30

업무를 보면서 수년 동안 차일피일 미루던 목표 중 하나는 '코딩'입니다.

현재 일하는 업무가 프로그래밍, 코딩과는 연관이 없지만, 업무의 자동화나 생산성 강화 측면에서 도움이 될 수 있었기에, 그리고 몇 번 도움을 받았기에 배워봐야지 생각만 하고 있었는데요. 수년을 미루다가 챗지피티(ChatGPT)의 등장으로 드디어 간단하게 파이썬(Python)을 배울 수 있었습니다. 혼자선 막막했는데, 인공지능의 도움을 받았더니 생각보다 빠르게 익숙해지더군요. 인공지능의 강력함을 새삼 체감했습니다.

주변 분들에게 도움이 되는 프로그램을 간간이 연습하고 있는데, 오늘은 그 결과물 하나를 공유드릴까 합니다.

네이버 포스트 댓글 수집 프로그램

네이버 포스트 플랫폼의 열기가 예전 같진 않습니다만, 여전히 다양한 곳에서 네이버 포스트를 운영하고 있습니다.

이 과정에서 댓글을 리스트업해야 하는 일이 종종 발생하는데요. 수 개야 그냥 복붙을 한다고 하지만 10개 이상만 되더라도 사람이 하기에 쉽지 않은 일이 됩니다. 그래서 파이썬 셀레니움 라이브러리를 이용해서 자동으로 수집하고 이를 엑셀 파일로 만드는 프로그램을 하나 만들었습니다. 흔히 크롤링 프로그램이라고 부릅니다만, 배우다 보니 크롤링이라고 거창하게 부를 건 아니고 그저 스크래핑이라고 하는 게 옳은 표현인 듯합니다.

이미 리스틀리(Listly)랜인투로켓 같은 유무료 솔루션이 있어, 이와 비교하기엔 부끄러운 결과물이고, 많이 쓰일 것 같지 않아서 공개를 안 하려다가, 그래도 도움이 되실 분이 있을까 싶어 공개합니다.

다운로드

프로그램은 exe 파일 형태로 윈도우에서만 작동할 수 있습니다. 크롬 브라우저를 통해 수집하므로 크롬 브라우저도 설치돼 있어야 합니다.

압축파일을 해제하면 'Post_comment.exe'파일과 'login.ini' 파일 두 개가 있는 것을 확인할 수 있습니다.

다운로드

네이버 포스트 댓글 수집 프로그램 사용방법

login.ini파일

1. 가장 먼저 'login.ini'파일을 메모장을 통해 엽니다. 첫 줄에 NaverID, 둘째 줄에 NaverPW라고 적혀있는데 이를 모두 지우고 첫 줄에는 로그인할 네이버 아이디, 둘째 줄에는 로그인할 네이버 비밀번호를 입력한 뒤 저장합니다.

(아마 8자리 내외의 숫자일 것입니다.)

2. 댓글을 가져올 네이버 포스트를 띄우고 URL에서 '?volumeNo=' 다음에 있는 숫자를 복사해 둡니다.

3. Post_comment.exe 파일을 실행하면 아마 Windows의 PC 보호와 같은 경고창이 뜰 텐데요. '추가 정보'를 클릭하고 '실행'을 눌러 실행합니다. 혹 보안 경고 화면이 뜬다면 액세스 허용도 해주셔야 합니다.

(앞서 복사했던 숫자를 입력합니다.)

4. 프로그램이 실행됐다면 프롬프트 화면이 뜨면서 게시글 번호를 입력할 수 있는 창이 뜹니다. 게시글 번호를 입력하고 엔터를 눌러 진행합니다.

5. 댓글을 수집하고 윈도우 알림 창이 뜨면 모든 수집이 완료된 것입니다. 확인을 누르면 프로그램이 자동 종료됩니다.

6. 실행 폴더에 '게시글 번호.xlsx'파일로 결과가 저장되며, 파일을 실행하면 순서, 일시, 닉네임, 댓글 내용이 표시됩니다. 답 댓글은 원본 댓글 바로 다음 순번으로 기록되며 별도의 표식은 없습니다. 이미지는 별도로 수집하지 않으며 이미지만 올린 댓글은 내용이 공백으로 표시됩니다.

7. 한 차례 실행이 끝나면 숫자로 된 폴더가 추가돼 있는 것을 볼 수 있습니다. 이는 크롬 브라우저용 크롬 드라이버(Chromedriver) 입니다. 원래는 크롬 드라이버 홈페이지에서 버전에 맞게 설치하셔야 하나, 번거로울 것 같아서 자동으로 다운로드하게 설정했습니다. 그러니 가급적 해당 폴더는 지우지 않고 두시는 것을 추천드립니다.

추가 안내

  1. 로그인을 해야 비밀댓글을 열람할 수 있기에, 요청자 희망에 따라 로그인을 해야 댓글을 수집할 수 있게끔 구성했습니다. 그러다 보니 로그인을 강제합니다만, 로그인 정보는 오직 페이지를 열어 고스란히 네이버 로그인을 하는 데만 사용합니다.
  2. Windows의 PC 보호창이 뜨는 것은 제가 인증서를 받지 않았기 때문입니다. 수익화를 고려하지 않은 프로그램이므로, 비용을 들여 인증서를 받을 여력이 없어서요....
  3. 몇 번 테스트를 하면서 예외상황이나 오류처리를 손봐뒀습니다만, 예상하지 못한 버그가 있을 수 있습니다. 제 지인을 위한 프로그램인 만큼 지인의 요구사항은 최우선으로 반영되며, 기타 심각한 버그가 있거나 문제점은 댓글 남겨주시면 짬짬이 시간이 날 때 수정해 보겠습니다. 다만, 개발이 본업이 아닌 만큼 빠른 응대가 어려운 점은 양해 부탁드립니다.

업데이트

  • 24.03.26.
    • login.txt 파일을 login.ini 파일로 고쳤습니다. 결국 평문 저장이라 큰 상관은 없습니다만, txt 등으로 검색되는 걸 원하지 않는다고 하셔서 수정했습니다.
    • 아이디와 비밀번호를 잘못 입력하면 예외처리가 제대로 작동하지 않았던 문제가 있어서 예외처리를 조금 더 정교화했습니다.