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

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

License

Notifications You must be signed in to change notification settings

lyh16/kic-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kic-crawler

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

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

사용법:
   ♣일반 이용자(학과 공지 사항만 수신 희망):
      1. 텔레그램 가입
      2. 추적하고 싶은 공지 게시판에 따라 채널 가입
         Undergraduate - https://t.me/kic_notices_undergraduate / @kic_notices_undergraduate
         Jobs & Activities - https://t.me/kic_notices_jna / @kic_notices_jna
         Scholarships - https://t.me/kic_notices_scholarships / @kic_notices_scholarships
         Others - https://t.me/kic_notices_others / @kic_notices_others

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

동기:
   ♣'사람에게 도움이 된다'는 코딩의 본질을 할 수 있는 범위 안에서 조금이나마 실천해보고 싶었음.
   ♣2020-1학기에 웹파이썬 강의를 수강하던 도중 텀프로젝트와는 별개로 구상을 가진 뒤 조금씩 시간을 내어 작업하다가 여름방학 때 완성함.

기타:
   ♣텔레그램을 매체로 선택한 이유는 다른 여느 메신저 보다도 API와 관련 모듈 개발이 활발하다고 생각해서임. 2018년 기준 리얼미터 통계에 따르면, 텔레그램이 한국 인기 1위 메시저보다는 못하지만 2위를 차지하고 있음.
   ♣크롤링 주기는 학교 담당 부서들과의 상의 하 30분(수강 신청 등 특수 사례에도 문제없는 정도)으로 설정함. 국제학과 누리집은 학교 도메인(khu.ac.kr)을 사용하지만 서버는 별도로 두고 있는 것으로 파악함. 그러나 크롤링 주기는 학교 서버 접속 시 권장받은 기준에 준하도록 설정함.
   ♣적어도 본인의 재학 기간 동안은 자체 서버에서 호스팅 및 운용할 계획임. 이후 계획은 이용률을 봐서 판단할 예정임.
   ♣본 작품은 개발자 본인이 선의로서 개발한 작품이고 최선을 다해서 유지관리에 임하겠지만, 본 작품은 각 개인이 각자의 책임 하 이용해야 하며 이로 인해 발생할 수 있는 어떠한 피해에 대해서도 개발자는 책임질 수 없음.

모듈 별 역할:
   ♣kic_crawler - 각종 모듈의 도움을 받아 학과 누리집의 네 개 공지 게시판(Undergraduate, Jobs & Activities, Scholarships, Others)을 크롤링한 뒤 수집한 내용을 텔레그램 봇을 통해 각 채널에 전파.
   ♣dbman - sqlite3을 이용한 최신 공지 사항의 관리.
   ♣bitly - URL 단축 서비스인 'Bitly'(bitly.com)의 API를 통해 수집한 공지 사항의 URL 단축.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages