Scraper for KBU students
Project description
Biblebot Scraper
성서봇 스크래이퍼는 한국성서대학교와 연관된 정보를 수집할 수 있는 파이썬 패키지입니다.
이 패키지를 바탕으로, 성서봇 모바일 애플리케이션(Android / IOS)이 한국성서대학교학생들에게 2018년부터 실서비스 되고 있습니다.
이 패키지는 네 가지 웹사이트에 대한 스크래이퍼를 제공합니다.
- 한국성서대학교 인트라넷 스크래이퍼
- 한국성서대학교 LMS 스크래이퍼
- 한국성서대학교 홈페이지 스크래이퍼
- OKPOS 마일리지 시스템 스크래이퍼
Installation
$ pip install 'biblebot[http]'
Requirements
beautifulsoup4
: html과 xml 에서 데이터를 추출하기 위해 사용합니다.aiohttp
: HTTP 요청을 위해 사용합니다. (OPTIONAL)
HTTP 요청을 위해 HTTP 요청 패키지가 필요합니다. aiohttp
또는 requests
패키지가 존재할 경우 자동으로 인식하여 사용합니다.
그 외의 HTTP 요청 패키지를 이용하고 싶다면 BaseRequest
추상클래스를 상속받아 구현한 뒤, HTTPClient.set
을 이용하여 등록해 사용할 수 있습니다.
📒 Documentation
Get started
공지사항 가져오기
import asyncio
from pprint import pprint
from biblebot import KbuAPI
async def main():
resp = await KbuAPI.MainNotice.fetch(page=2) # 공지사항 2페이지
result = KbuAPI.MainNotice.parse(resp)
pprint(result.data)
asyncio.run(main())
Output:
{
"notice": [
{
"seq": "3742",
"title": "[대학원 입시] 2020학년도 후기 한국성서대학교 대학원 신입생 모집",
"author": "장성희",
"date": "2020-07-31",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46649?p=2"
},
{
"seq": "3741",
"title": "[기초교육원] 2020-2학기 수강신청 기초교육원, 영어교육센터 공지사항 안내",
"author": "김다윗",
"date": "2020-07-30",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46645?p=2"
},
{
"seq": "3740",
"title": "[학적] 2020-2학기 적용 융합모듈 교육과정 승인자 발표",
"author": "김희",
"date": "2020-07-30",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46644?p=2"
},
{
"seq": "3739",
"title": "[학적] 2020-2학기 적용 부전공 승인자 발표",
"author": "김희",
"date": "2020-07-30",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46643?p=2"
},
{
"seq": "3738",
"title": "[학적] 2020-2학기 적용 복수전공 승인자 발표",
"author": "김희",
"date": "2020-07-30",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46641?p=2"
},
{
"seq": "3737",
"title": "[학적] 2020-2학기 적용 전과 승인자 발표",
"author": "김희",
"date": "2020-07-30",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46640?p=2"
},
{
"seq": "3736",
"title": "[수업] 2020-2학기 개설강좌 및 시간표 발표 안내",
"author": "유다운",
"date": "2020-07-28",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46633?p=2"
},
{
"seq": "3735",
"title": "[생활관] 2020-2학기 생활관 입주 신청 공고",
"author": "조철남",
"date": "2020-07-28",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46631?p=2"
},
{
"seq": "3734",
"title": "[학적] 2019학년도 후기 학위수여자 발표",
"author": "김희",
"date": "2020-07-24",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46617?p=2"
},
{
"seq": "3733",
"title": "[학점교류] 2020-2학기 서울여자대학교 학점교류 신청 안내",
"author": "유다운",
"date": "2020-07-24",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46616?p=2"
},
{
"seq": "3732",
"title": "[규정] 20-7월 규정 개정 공고",
"author": "윤경민",
"date": "2020-07-23",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46615?p=2"
},
{
"seq": "3731",
"title": "[수업] 2020-하계계절학기 성적 확인 및 이의신청 안내",
"author": "유다운",
"date": "2020-07-23",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46614?p=2"
},
{
"seq": "3730",
"title": "[대학인사] 2020년 장애대학생 교육복지지원 실태평가 위원회 및 보직변경에 따른 위원회 임명",
"author": "김현동",
"date": "2020-07-23",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46612?p=2"
},
{
"seq": "3729",
"title": "[수업] 2020-2학기 수강신청 안내 (수정 7/24)",
"author": "유다운",
"date": "2020-07-17",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46603?p=2"
},
{
"seq": "3728",
"title": "[채용] 컴퓨터소프트웨어학과 실습조교 채용 재공고(~7/24까지)",
"author": "김병수",
"date": "2020-07-17",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46601?p=2"
},
{
"seq": "3727",
"title": "[산학협력단] 2020년도 학술지지원사업(인문사회분야) 신규과제 공모",
"author": "윤경민",
"date": "2020-07-16",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46599?p=2"
},
{
"seq": "3726",
"title": "(코로나) 대학생 대면모임 및 활동 등 자제 협조 요청(교육부 공문)",
"author": "김병수",
"date": "2020-07-14",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46598?p=2"
},
{
"seq": "3725",
"title": "일립관 승강기(7층) 운행 중지 안내",
"author": "이은광",
"date": "2020-07-14",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46597?p=2"
},
{
"seq": "3724",
"title": "[채용] 컴퓨터소프트웨어학과 실습조교 채용 공고(~7/16까지)",
"author": "김병수",
"date": "2020-07-09",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46593?p=2"
},
{
"seq": "3723",
"title": "[수업] 2020-1학기 성적 이의신청 안내",
"author": "유다운",
"date": "2020-07-09",
"url": "https://www.bible.ac.kr/ko/life/notice/view/46591?p=2"
}
]
}
수강하는 강의 정보 가져오기
import asyncio
from pprint import pprint
from biblebot import IntranetAPI
async def main():
account = ("본인 아이디", "본인 패스워드")
# Login
resp = await IntranetAPI.Login.fetch(*account)
result = IntranetAPI.Login.parse(resp)
cookie = result.data["cookies"]
# Get course information
resp = await IntranetAPI.Course.fetch(cookies=cookie, semester="20201")
result = IntranetAPI.Course.parse(resp)
pprint(result.data)
asyncio.run(main())
Output:
{
"head": [
"강좌코드",
"강좌명",
"이수구분",
"학점",
"교수명",
"강의시간",
"선택",
"비고"
],
"body": [
[
"GE264-A",
"경건훈련",
"기초공통필수",
"0",
"유정선",
"(수)12:00~12:30",
"",
"NO"
],
[
"GE495-N",
"전도훈련Ⅶ",
"기초공통필수",
"0",
"최영태",
"(수)13:30~15:20",
"",
"NO"
],
[
"GE748-A",
"엑셀스프레드시트",
"교양선택",
"1",
"한진호",
"(월)14:55~16:10",
"",
"NO"
],
[
"IC122-A",
"고급소프트웨어프로젝트",
"전공선택",
"3",
"정해덕",
"(화)14:55~16:10(목)14:55~16:10",
"",
"NO"
],
[
"IC134-D",
"미래설계상담Ⅶ",
"전공필수",
"0",
"정해덕",
"(수)15:30~16:20",
"",
"NO"
],
[
"IC140-A",
"빅데이터기술",
"전공선택",
"3",
"양혜경",
"(월)13:30~14:45(목)13:30~14:45",
"",
"NO"
],
[
"IC143-A",
"종합설계I",
"전공필수",
"3",
"정해덕",
"(화)16:20~17:35(목)16:20~17:35",
"",
"NO"
],
[
"IC161-A",
"창의적통합설계",
"전공선택",
"3",
"현우석",
"(월)16:20~17:35(화)13:30~14:45",
"",
"NO"
]
]
}
더 많은 기능은 여기서 확인하세요.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
biblebot-0.2.0.tar.gz
(23.4 kB
view hashes)
Built Distribution
biblebot-0.2.0-py3-none-any.whl
(28.5 kB
view hashes)