Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.
/ khu-crawler Public archive

경희대 공식 누리집에 게시되는 공지 사항들을 자동으로 수집해서 텔레그램 채널로 전송해줍니다.

License

Notifications You must be signed in to change notification settings

lyh16/khu-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

khu-crawler

<kic-crawler 자매품>

기능: 경희대 공식 누리집에 게시되는 공지 사항들을 자동으로 수집해서 텔레그램 채널로 전송해줍니다.

특장:
   1. 빠르다. - 현재 자체 호스팅 중인 서버에서 1분 간격으로 신규 공지 사항을 크롤링하도록 설정함.
   2. 편리하다. - 한 번 원하는 채널에 가입하면 이후부터는 학교 누리집을 방문하지 않고도 공지 사항들을 준실시간으로 확인 가능.
   3. 정확하다. - 학생들이 직접 학교 누리집을 방문하기가 귀찮아서 에X리X임과 같은 커뮤니티 정보 게시판에 의존하는 경우가 많음. 본 크롤러는 학교 누리집에서 직접 정보를 수집해서 전파하기에 여느 수단보다도 학교관련 정보가 정확함.

사용법:
   ♣일반 이용자(학교 공지 사항만 수신 희망):
      1. 텔레그램 가입
      2. 추적하고 싶은 공지 게시판에 따라 채널 가입
         일반 - https://t.me/khu_notices_general / @khu_notices_general
         학사 - https://t.me/khu_notices_undergraduate / @khu_notices_undergraduate
         장학 - https://t.me/khu_notices_scholarships / @khu_notices_scholarships
         교내학점교류 - https://t.me/khu_notices_credex / @khu_notices_credex
         행사 - https://t.me/khu_notices_events / @khu_notices_events

   ♣개발자(자체 서버에 탑재 또는 코드 이용 희망):
      1. 텔레그램 가입
      2. 코드 상 존재하는 각종 경로, API 키 또는 토큰, 그리고 텔레그램 채널과 봇을 알맞게 기입 및 생성
      3. Linux 계열 서버에서 코드 실행 시 crontab, Windows 계열 서버에서는 작업 스케쥴러 등의 반복 실행 메커니즘을 활용해 원하는 주기로 크롤링을 실행

동기:
   ♣'사람에게 도움이 된다'는 코딩의 본질을 할 수 있는 범위 안에서 조금이나마 실천해보고 싶었음.
   ♣2020년 여름방학 때 같은 학과 학우들을 대상으로 하는 'kic-crawler'를 완성하고 나서 보다 많은 학우들에게 편익이 돌아가는 프로젝트를 진행해보고 싶었음.

기타:
   ♣학교 누리집 공지 게시판의 갯수는 'khu-crawler'에서 다루는 다섯 개 말고도 두 개(시간표 변경, e-커뮤니티)가 더 존재함. 하지만, '시간표 변경' 게시판은 2018년 09월 05일을 마지막으로 약 1년 동안 신규 공지가 탑재되지 않아 유명무실해진 것으로 판단했고, 'e-커뮤니티' 게시판은 공지 게시판보다는 다른 웹사이트로 이어지는 링크로서의 기능에 더 가깝다고 판단했음. 이에 위 두 개 게시판은 크롤링 대상에서 제외함..
   ♣텔레그램을 매체로 선택한 이유는 다른 여느 메신저 보다도 API와 관련 모듈 개발이 활발하다고 생각해서임. 2018년 기준 리얼미터 통계에 따르면, 텔레그램이 한국 인기 1위 메시저보다는 못하지만 2위를 차지하고 있음.
   ♣크롤링 주기는 학교 담당 부서들과의 상의 하 30분(수강 신청 등 특수 사례에도 문제없는 정도)으로 설정함.
   ♣적어도 본인의 재학 기간 동안은 자체 서버에서 호스팅 및 운용할 계획임. 이후 계획은 이용률을 봐서 판단할 예정임.
   ♣본 작품은 개발자 본인이 선의로서 개발한 작품이고 최선을 다해서 유지관리에 임하겠지만, 본 작품은 각 개인이 각자의 책임 하 이용해야 하며 이로 인해 발생할 수 있는 어떠한 피해에 대해서도 개발자는 책임질 수 없음.

모듈 별 역할:
   ♣khu_crawler - 각종 모듈의 도움을 받아 학교 누리집의 다섯 개 공지 게시판(일반, 학사, 장학, 교내학점교류, 행사)을 크롤링한 뒤 수집한 내용을 텔레그램 봇을 통해 각 채널에 전파.
   ♣dbman - sqlite3을 이용한 최신 공지 사항의 관리.
   ♣bitly - URL 단축 서비스인 'Bitly'(bitly.com)의 API를 통해 수집한 공지 사항의 URL 단축.

About

경희대 공식 누리집에 게시되는 공지 사항들을 자동으로 수집해서 텔레그램 채널로 전송해줍니다.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages