본문 바로가기

ARCHIVE/Python

[Python] 학교 코드, 급식, 학사일정 데려오는 모듈 (NiPy)

프로그래밍 언어를 배우다 보면 자신만의 프로그램을 만들고 싶어 질 때가 있습니다. 강좌나 책에서 제시하는 예제나 문제만 풀면 흥미가 사라지기 마련입니다. 사실 자신만의 프로그램을 만드는 것은 무척이나 좋은 시도입니다. 천년만년 책만 들여다보면서 예제만 풀면 실력이 늘지 않기 때문입니다. 대표적인 예가 바로 영어입니다. 보통 10년 정도 영어를 배우지만 할 줄 아는 건 "하와유? 아임 파인 땡큐" 이것밖에 없는 이유도 직접 해본 적이 없기 때문입니다. 그래서 전 옛날에 영어를 접.. 읍읍

 

서론이 길었습니다만 여튼 결론은 많은 분들이 프로그램을 만들고 싶어 하신다는 겁니다. 저 또한 그랬습니다. 당시에 html와 css, php를 다룰 줄 알았던 저에게 파이썬은 새로운 언어였습니다. 그리고 php로 저만의 사이트를 만든 것처럼 파이썬으로 저만의 프로그램을 만들고 싶었죠. 그래서 계획한 것이 바로 학교 급식을 받아오는 것이었습니다.

 

대충 크롤링만해서 보기 좋게 정리하면 될 줄 알았습니다. 하지만 아니더군요... 게다가 나이스가 개편되어 구글에서 검색되는 방법은 통하지도 않고... 하지만 결국 성공했습니다.

 

급식 크롤링에 성공한 저는 급식 외에도 다른 정보를 가져오기로 결심했고 학교별 나이스 고유 코드를 가져오는 기능과 학교별 학사일정을 가져오는 기능도 만들었습니다. 만든 이야기는 말하자면 길어지니 다음 포스팅에서 계속하는 걸로 하고 오늘은 제가 힘들게 만든 nipy에 대한 소개를 하겠습니다.


NiPy에 대하여

우선 앞에서도 주구창창 얘기했습니다만 다시 설명드리겠습니다. NiPy는 나이스로부터 학교 고유 코드나 급식 정보, 학사 일정 등을 받아오는 모듈입니다. 이 모듈을 사용하면 귀찮게 나이스에 접속해서 크롤링해오는 로직을 파악할 필요가 없어지죠. 라이선스도 MIT 라이선스이기에 본 블로그 주소나 깃허브 주소를 적어주시면 됩니다. 영 귀찮으시면 제 이름 석자만 박아주시면 됩니다. 간단하죠? 그것 마저도 안하면... 지구 끝까지 찾아갑니다.

NiPy 다운로드 방법

NiPy의 경우에는 pip에서의 설치를 아직 지원하지 않습니다. 따라서 직접 깃허브 링크를 타고 들어가셔서 다운받으셔야 합니다. 깃허브에 들어가 보시면 친절하게 사용방법에 대해 알려드리고 있으니 들어가셔서 읽어보시기 바랍니다.

NiPy 활용 방법

사실 제가 활용 방법을 가르쳐 드리지 않아도 잘 구워드시든 삶아드시든 할 것 같지만 그러면 글이 너무 짧아지기에 제가 활용했던 방법을 알려드리겠습니다.

 

저 같은 경우에는 이 묘듈을 데리고 급식을 찾아주는 프로그램을 만들었습니다. 현재 깃허브에서 Yami!라는 이름으로 올라가 있는 프로그램이 바로 그 주인공입니다. 사실 75% 가까이가 Gui를 담당하는 오토핫키이긴 합니다만 그래도 참고해 보시면 꽤나 괜찮은 프로그램을 만드실 수 있으리라고 생각이 듭니다.

NiPy 주의사항

참고로 NiPy는 나이스로부터 정보들을 크롤링해오는 방식으로 작동합니다. 즉 나이스가 사이트를 개편하거나 nProtect 같은 보안 프로그램을 적용하면 사용이 불가능해집니다. 그때가 되면 다른 방법을 찾아보겠으나 그쯤 되면 아마 나이스 측에서 api를 제공하지 않는 한은 정보를 받아오는 게 불가능해질 수 있습니다.