Skip to content

用來看歷年課程平均&標準差用的,省得每次都上校務系統登入查。無成績分布 。

Notifications You must be signed in to change notification settings

edge-runner913/nthu-course-grade-data-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

清華大學校務系統 - 課程歷年成績資料下載器 NTHU Course Grade Data Downloader

簡介

使用TypeScript編寫的歷年成績資料下載器。

可自動登入清華大學校務系統,並下載指定學年度、學期的課程成績資料。

調用PythonDddd.py來自動處理驗證碼圖片。

前置需求

僅需安裝node.jsuv套件管理器即可。

不需要安裝Python

TypeScript

安裝node.js(建議版本 18 以上)。

Python

需要安裝uv (python 套件管理工具),請依uv網站指示安裝。

首次執行會自動安裝需要的套件,檔案較大,請耐心等待。

Warning

uv創建的虛擬環境自帶Python 3.10,因此也不需要安裝Python

使用說明

Note

懶得跑腳本的話,就直接去data資料夾拿檔案就好了

整個資料夾下載下來後,

可以在main.ts中,將你的帳號你的密碼分別替換成你的帳號與密碼,如下所示:

const account: string = '你的帳號';
const password: string = '你的密碼';

或將.env.example改名為.env檔案放在專案根目錄,如下輸入你的帳號與密碼:

ACCOUNT=你的帳號
PASSWORD=你的密碼

或是執行時不提供,會要求輸入。


開啟命令提示字元或終端機,cd進入專案資料夾後

依序執行以下指令:

npm i

npm start

如果沒有提供,則會先詢問你的帳號密碼。

之後會自動進行驗證碼驗證。

如果失敗,則須自行點開根目錄下的captcha.pngcaptcha_1.png查看驗證碼,並輸入驗證碼內容。

然後會再詢問要下載哪一學年、哪一學期的課程資料。

可使用鍵盤上/下鍵來選擇選項。

輸入後按下 Enter 即可開始下載。檔案較大,請忍一下耐心等待。

下載結果

會存到 data 資料夾中 但我有上傳 所以你直接去那裏面載檔案也可以

檔名格式為 NTHU_學年_學期.html,學年為民國年;1 代表上學期,2 代表下學期。

注意事項

拜託 載完後幫我點個star 這對我來說(沒)很重要 雖然我不是本系 而且代碼寫得很史 但還是霸脫點一下

只有109學年度開始的資料可以下載。其他年份的沒資料。

內附批次下載109-114年資料的程式碼,請自行取消註解使用。

本人不負責任何因使用此程式碼所產生的法律問題,請勿用於從事違法行為。

本程式僅用於寬帶測試不是校務系統伺服器的寬帶測試,下載後請於 24 小時內刪除。

About

用來看歷年課程平均&標準差用的,省得每次都上校務系統登入查。無成績分布 。

Topics

Resources

Stars

Watchers

Forks

Languages