깨챈에서 쓸만한 글거리가 없어서 이거라도 씀

그냥 심심할때 읽어봐


시작은 9월 12일부터 제작에 들어감


여느때와 다름없이 그날 해야할 깨할일을 다하고 병원에서 치료받으면서 깨챈하던 중에


이러면서 놀고 있을때 갑자기 '공지 알림하는거나 자동화 시켜볼까?'라는 생각이 들어서 시작한 프로젝트임

이렇게 생각하고 보니깐 깨챈 공지에보면 다들 수동으로 공지내용을 퍼오는게 보여서 이거 만들면 괜찮겠다 싶은 느낌이 들었음


그래서 작업에 들어갔고 간단하게 이것저것 만들기 쉬운 Python을 이용해서 깨마 공지봇을 제작하기 시작했음


일단 깨마 카페에 있는 공지내용을 긁어오는 크롤러를 만들필요가 있음

(크롤러는 자동으로 인터넷에 있는 자료를 긁어오는 프로그램이라 생각하면됨)


그래서 먼저 네이버 카페 서버에 요청을 보내서 공지게시판의 HTML을 받아오는 코드를 작성했어


https://cafe.naver.com/ArticleList.nhn?search.clubid=30450887&search.menuid=1&search.boardtype=L

이 URL로 리퀘스트를 보내면 네이버 카페에서 응답으로 밑의 사진의 공지게시판의 HTML을 보내줌

이렇게 네이버 카페에서 응답으로 공지게시판의 HTML을 받으면 우리가 필요한 공지게시글만 가져오도록 해줘야해


이렇게 가져온 HTML을 가공해서 새로운 공지만 골라서 분리시킨 다음에 해당 게시글을 클릭하면 바로 그 게시글로 넘어가지도록 해주는 하이퍼링크 URL를 가져와서 이 URL로 다시 리퀘스트를 보내서 게시글을 복사해오면 크롤러는 완성임

위에 사진에 보이는 파란색 영역이 게시글이랑 이어져있는 HTML이야. 이 HTML을 이용해서 해당 공지 게시글로 이동한 다음 내용을 복사하면 끝인데..


하지만, 여기서 네이버 카페에서 JavaScript를 사용가능한지 확인하는 봇 검증을 해서 어쩔수 없이 자동으로 브라우저를 컨트롤할 수 있는 selenium을 이용해서 게시글을 가져오는걸로 코드를 바꿈

(selenium은 크롬 같은 브라우저를 작성해둔 코드로 제어할수 있도록 해주는 모듈이라고 생각하면됨)

원래는 selenium은 브라우저를 로딩하고 화면에 뜨는 요소들이랑 JavaScript를 로딩한다는 점에서 그냥 네트워크상으로 리퀘스트를 보내는 방식에 비해 작동 속도 측면에서 많이 느려져서 원래는 사용하려고 하지 않았음..


하지만 봇검증 때문에 리퀘스트만 보내는 방식으로는 카페공지를 가져오지 못하니 selenium으로 카페 공지를 가져오도록 코드를 바꾸고 정상적으로 공지 제목이랑 내용을 가져와지는지 테스트까지 끝마쳤음


작동시키면 이렇게 공지 내용을 가져올 수 있음!



이렇게 깨마 카페에서 공지사항을 가져오는 크롤러는 완성!


이제 다음으로 만들꺼는 위에서 만든 크롤러가 가져온 공지내용을 깨마챈에 글을 쓰는 기능임


여기서 이것저것 문제가 많이 터져서 내용이 많으니 2편에서 다시 쓰겠음


다들 코드같은건 잘모를거 같아서 코드는 글에 안넣었더니 글내용이 좀 부실해보이네

코드 같은거 넣어도 괜찮으면 2편엔 코드도 넣어서 뭔가 있어보이게 글써볼께