NTU Class Crawler - 台大上課教室看板課表整理小工具
文章推薦指數: 80 %
1. Execute crawl_tk.exe directly (For Windows only). 此方法不用裝python也可以使用,直接執行就好很方便,推薦一般人使用. 直接下載 dist/crawl_tk ...
Skiptocontent
{{message}}
hungchun0201
/
NTUclassCrawler
Public
Notifications
Fork
7
Star
28
28
stars
7
forks
Star
Notifications
Code
Issues
0
Pullrequests
1
Actions
Projects
0
Security
Insights
More
Code
Issues
Pullrequests
Actions
Projects
Security
Insights
hungchun0201/NTUclassCrawler
Thiscommitdoesnotbelongtoanybranchonthisrepository,andmaybelongtoaforkoutsideoftherepository.
master
Branches
Tags
Couldnotloadbranches
Nothingtoshow
{{refName}}
default
Couldnotloadtags
Nothingtoshow
{{refName}}
default
2
branches
2
tags
Code
Clone
HTTPS
GitHubCLI
UseGitorcheckoutwithSVNusingthewebURL.
WorkfastwithourofficialCLI.
Learnmore.
OpenwithGitHubDesktop
DownloadZIP
LaunchingGitHubDesktop
Ifnothinghappens,downloadGitHubDesktopandtryagain.
LaunchingGitHubDesktop
Ifnothinghappens,downloadGitHubDesktopandtryagain.
LaunchingXcode
Ifnothinghappens,downloadXcodeandtryagain.
LaunchingVisualStudioCode
Yourcodespacewillopenonceready.
Therewasaproblempreparingyourcodespace,pleasetryagain.
Latestcommit
Gitstats
34
commits
Files
Permalink
Failedtoloadlatestcommitinformation.
Type
Name
Latestcommitmessage
Committime
.streamlit
build/crawl_tk
dist
img
.gitignore
Pipfile
app.py
crawl.py
crawl_tk.py
crawl_tk.spec
readme.md
requirements.txt
run_app.py
Viewcode
NTUClassCrawler-台大上課教室看板課表整理小工具
Introduction
OnlineService
HowtoUseLocally
Environment
GUI(Recommended)
Demo
1.Executecrawl_tk.exedirectly(ForWindowsonly)
2.CreatevirtualenvinAnaconda(ForWindows/Mac/Linux)
Terminal
Demo
OptionalArguments
Examples
LocalWepAppDeployment
Demo
Steps
readme.md
NTUClassCrawler-台大上課教室看板課表整理小工具
NTUClassCrawler-台大上課教室看板課表整理小工具
Introduction
OnlineService
HowtoUseLocally
GUI(Recommended)
Demo
1.Executecrawl_tk.exedirectly(ForWindowsonly)
2.CreatevirtualenvinAnaconda(ForWindows/Mac/Linux)
Terminal
Demo
OptionalArguments
Examples
LocalWepAppDeployment
Demo
Steps
Introduction
雖然上課教室看板會先顯示下學期的一些課表,但因為系統設計的關係,查找其實不易。
此程式會從上課教室看板上面爬取下學期的課表,並有條理地整理,因此可以在台大課程網更新前就先大致安排你的課表。
雖然上面的資訊不完整,但若是想要事先安排課表的話還是相當方便。
Thisisaprogramthatcancrawldataofclassesinnextsemesterfrom
"classroommanagementsystem上課教室看板".Withthisprogram,youcanarrangeyourclassesbeforetheycomeoutatNTUonline.Whiletheinformationisnotquite
completeonthewebsite,itisstillausefulandhelpfultoolifyouwantto
organizethecurriculumfornextsemesterinadvance.
你可以選擇使用圖形化介面,也可以直接在terminal中執行程式。
最後,也有提供簡易網頁版,可以讓你不用下載整份程式碼也能順利查找課表。
YoucanexecutethisprogrameitherinGUIorterminal.Inaddition,thewebsiteversionofthisprogramisservedheresothatyouwon'thavetocloneandbuildfromscratch.
OnlineService
Designedby@icheft
👉🏽傳送門·WebAppLink
HowtoUseLocally
Environment
GUI(Recommended)
TestedonWindows10
Demo
共有兩種方法可執行GUI程式。
Therearetwowaystousethisprogram.
1.Executecrawl_tk.exedirectly(ForWindowsonly)
此方法不用裝python也可以使用,直接執行就好很方便,推薦一般人使用
直接下載dist/crawl_tk.exe並執行即可。
Downloaddist/crawl_tk.exeandexecuteitdirectly.
2.CreatevirtualenvinAnaconda(ForWindows/Mac/Linux)
下載crawl_tk.py以及requirements.txt後,在Anaconda中建立python3.7環境。
並執行以下指令
Afteryoudownloadthefiles,createavirtualenvwithpython=3.7inAnaconda.Then,execute
pipinstall-rrequirements.txt
pythoncrawl_tk.py
Terminal
TestedonWindows10
Demo
python3crawl.py-b[building]--semester[semester]
OptionalArguments
optionalarguments:
-h,--helpshowthishelpmessageandexit
--semesterSEMESTERSelectthesemesteryouwanttoquery
--delay-timeDELAYSetthedelaytimebetweeneachrequest
-pPAGE,--pagePAGEAssignthemaximumpageofeachday.
-s[SAVE],--save[SAVE]
Storetheresult.Youcanspecifyyourfilename.
Pleaseuse.xlsor.xlsxasfilenameextension.
-b{1,2,3,4,5,6,7,8,9,A,B,共同,普通,新生,綜合,博雅,%}
Specifythebuildingyouwanttoquery.
Ifthebuildingbelongstoacollege(ex:CollegeofElectricalEngineeringandComputerScience),
usethecodeofthatcollege(ex:9),orsimplytypethenameofthebuilding(ex:博雅).
Thepercentagesignmeanssearchforallbuildings.
Thedefaultissetas9.
--search-optSEARCHOPT
Commaseparatedvaluestospecifysearchoptionse.g."Title=積體電路,Classroom=電二"
Theavailableargsinclude:
"Id":CurriculumIdentityNumber
"Class":Theclassnumber.Ifthecourseistaughtbyonlyoneteacher,itissetto00
"Title":Coursetitle
"Instructor":Teachername
"Classroom":ScheduleClassroom
"Time":Thetimeofcourse
Forexample,ifyoutype"--search-optTitle=積體電路,Classroom=電二",youmaygetthefollowingresult:
IdClassTitleInstructorClassroomTime
0943U001000積體電路測試李建模電二146二2,3,4
1921U959000電力電子與積體電路控制陳景然電二225二7,8,9
2943U012000射頻積體電路設計陳怡然電二104三2,3,4
39014050000積體電路設計盧奕璋電二229三7,8,9
4942U012000微波積體電路專題林坤佑電二101四7,8,9
Youcanviewallhelpmessagebytyping
python3crawl.py-h
Examples
Thedefaultofthebuildingissetas9(EECS).Remenertospecifythe-boption.
Ifyouwanttofindtheclasswhosenameis機器學習inEECSandstoretheresulttoexcelwithfilenameML.xls,youcanuse
python3crawl.py--search-optTitle=機器學習--saveML.xls-b9--semester1101
ormaybeyoujustwanttofindtheclassesteachedinBioresourcesandAgriculturecollege,andsaveitlocally.Youcanjusttype
python3crawl.py-b6--saveAgri.xlsx--semester1101
Acommonwayofusingthisprogramistodownloadallofthecoursesintoaxlsxfile,andyoucansearchdirectlyinthexlsxfilelocally.
(Itmaytakeawhiletoexecuteit,sinceyouwanttogothroughallofthepagesinthewebsite.)
python3crawl.py-b%--savecourse.xlsx--semester1101
LocalWepAppDeployment
如果私服器(目前資料存放于台大資管系)有任何問題,或是你想在自己的電腦嘗試部署WebApp,也可以利用以下作法在local端建置。
IftheserverheldintheDepartmentofInformationManagementfailsoryouwanttodeploythiswebapplocally,herearesometipstogetyoustarted.
TestedonmacOS
Demo
👉🏽傳送門·WebAppLink
Responsivedesignaswell🙌🏾
Steps
*註:此部分僅為local端佈建使用。
Thispartservesforpeoplewhowanttodeploylocally.
Gitclonethisrepository
Makesureyou'veinstalledalltherequiredpackagesinthedesiredenvironment(pipenvuseslessresourcesthanAnaconda)
pipinstallpipenv
pipenv--three
pipenvinstall--dev
pipenvshell
Runthefollowingcommand(default)
python3run_app.py--deploy
Someoptionalcommandsarelistedbelow:
optionalarguments:
-h,--helpshowthishelpmessageandexit
--semesterSEMESTERSelectthesemesteryouwanttoquery
--toCSVExportcsvfile
-d,--deployDeployyoursitelocally
-f,--forceOverridecurrentcourse.xlsxfile
Ifdeploycommandisnotpassed,theappwon'tbedeployed.
Bewareofthe--forcecommandasitmaytakesuperlongtimetocrawlthedatafromscratch
Ifcourse.xlsxisnotfoundatruntime,theprogramwillautomaticallystartcrawling
Ifdonesuccessfully,youshallseesomethinglikethis:
course.xlsxfilealreadyexists
Readytodeploy...
YoucannowviewyourStreamlitappinyourbrowser.
LocalURL:http://localhost:8501
NetworkURL:http://192.168.2.235:8501
About
Nodescription,website,ortopicsprovided.
Resources
Readme
Stars
28
stars
Watchers
1
watching
Forks
7
forks
Releases
2
Addwebservice
Latest
Jul11,2021
+1release
Packages0
Nopackagespublished
Contributors5
Languages
HTML
60.1%
TeX
38.5%
Python
1.4%
Youcan’tperformthatactionatthistime.
Yousignedinwithanothertaborwindow.Reloadtorefreshyoursession.
Yousignedoutinanothertaborwindow.Reloadtorefreshyoursession.
延伸文章資訊
- 1NTU Class Crawler - 台大上課教室看板課表整理小工具
1. Execute crawl_tk.exe directly (For Windows only). 此方法不用裝python也可以使用,直接執行就好很方便,推薦一般人使用. 直接下載 di...
- 2NTU Online臺大課程網(46)
課程Excel 檔下載. 借教室 各系所必修課程查詢 · 進階英語課程首頁. 全校課程地圖 課程地圖查詢系統 · 通識課程地圖查詢系統 · 暑期班網站 · 臺大遠距教學.
- 3請注意:111-1學期各課程選課流水號需待111/8/1正式公告後始 ...
111學年上學期課程Excel 檔下載. 課程下載注意事項: 1.請同學務必留意課程之各項異動. 2.系所提報異動資料後,課務組即於第3天公告。 3.第1、2階段選課及加退選期間, ...
- 4myNTU臺大人入口網
- 5臺大選課系統