개발/개인 프로젝트
[node.js/express] 학교 공지사항 크롤링 API 백엔드 서버
안녕진
2022. 2. 9. 10:32
개인 공부 목적으로, 잘못된 정보가 있을 수 있습니다.
오류 및 지적사항은 댓글에 남겨주시면 감사히 듣겠습니다.
소개 및 개발 이유
학교 공지사항에는 정말 중요한 공지사항이 자주 올라온다.
매일 들어가서 읽기가 번거로워서, 앱이나 웹으로 쉽게 공지사항을 정리할 수 있으면 좋겠다고 생각했다.
프론트엔드까지 같이 구현한 웹서버 자체에서 크롤링하면 쉽게 공지사항을 정리한 웹페이지를 만들 수 있겠지만, 나중에 앱을 개발해서 공지사항을 끌어오기에는 적합하지 않다고 생각했다.
그리고 백엔드, 프론트엔드 말로만 들어봤지 실제로 서버를 나누어 개발해본 경험이 한 번도 없었기 때문에, 이번 기회에 백엔드 서버를 따로 개발해보고 싶었다.
axios로 크롤링하여 cheerio를 사용해서 파싱했다.
결과는 json 형태로 뿌려줬다.
결과 예시
[{"type":"학사공지","title":"2021년도 전기 메타버스 졸업식 안내(졸업생. 재학생. 학부모 대상)","link":"https://computer.cnu.ac.kr/computer/notice/bachelor.do?mode=view&articleNo=289038&article.offset=0&articleLimit=10","date":"2022-02-07T00:00:00.000Z","isTop":true},
.....
]