학교 공지 사항 자동화를 해보자 - 1
Intro. 왜 자동화를 해야 할까?
장학금이나 기타 학교에서 진행하는 프로그램들은 내게 무조건 이득이 된다.
4년 짧게 다니는 대학 생활인데 최대한 많이 얻어가야 하지 않겠나
내 하루 일과 중 하나는 학과 공지 사항을 확인하는 것이다.
아침에 연구실에 오면 직장인이 메일 보는 것처럼 뚤래뚤래 공지사항이 뜬게 있는지 보는거다
게다가 선착순이나 경쟁률 있는 것은 언제 뜰지 모르니 가끔 틈 날 때마다 들어가는데, 매우 귀찮은 일이다.
들어가야지 생각하고 들어가서 확인하는 것 자체가 에너지 낭비이다.
나의 경우, 메일에 기술 블로그와 뉴스를 구독하고 있다. 그렇다면, 학과 주요 공지사항들도 내게 메일로 보내면 되지 않을까?!
프로그래머니까 프로그래머답게 해결해보자
로직 및 요구사항
교내 주요 공지라 함은 소프트웨어 중심 사업단과 학과실에서 올리는 공지이다.
또한, 올라오는 공지들은 최신 공지부터 차례대로 올라온다.
예외 사항으로 중요 공지는 상단에 고정 되는데 이 또한 최신 공지 중 중요한 것만 체크 되기 때문에 신경 쓰지 않아도 된다
-
크롤링 해야 할 페이지
- 학과 홈페이지의 첫 페이지
- 사업단 홈페이지의 첫 페이지
-
로직
- 학과/사업단 홈페이지에서 공지 날짜/링크/제목 크롤링해서 저장
- 공지 날짜와 오늘 날짜를 비교해서 오늘 날짜만 추출
- 추출 된 공지를 내 구글 메일로 전송한다
- Github Action Crontab으로 매일 오후 18:00으로 동기화 한다
기술 스택
- Python
- 라이브러리
- BS4 : 크롤링
- re : 정규식
- smtplib, email : 메일
- datetime : 날짜, 시간
레퍼런스
'프로젝트 > 사이드 프로젝트' 카테고리의 다른 글
BlindTok (1) - 프로젝트 초기 세팅 (0) | 2023.03.29 |
---|---|
학교 공지 사항 자동화를 해보자 - 5 (0) | 2023.03.23 |
학교 공지 사항 자동화를 해보자 - 4 (0) | 2023.03.22 |
학교 공지 사항 자동화를 해보자 - 3 (0) | 2023.03.22 |
학교 공지 사항 자동화를 해보자 - 2 (0) | 2023.03.22 |