爬取並下載國立臺北大學數位學苑2.0上的課程資料
- 直接下載這個 repo
- 解壓縮後用命令提示字元(windows)或終端機(mac, linux)進入該資料夾
- 輸入
pip install -r requirements.txt
orpip3 install -r requirements.txt
檢查 python 套件版本 - 將學號和密碼填入 secret.py 中 (非必要,但有填就能不用每次都打帳密)
- 輸入
python lms_downloader.py
orpython3 lms_downloader.py
執行程式 - 根據提示操作並耐心等候,
可以先吃飯睡覺打東東,如果程式停掉了,下面有說要怎麼處理程式會詢問你想下載的課程名稱或教授姓名,輸入關鍵字即可
課程名稱可輸入中文或英文,教授姓名需輸入中文
若沒輸入(直接按enter
),程式會下載所有課程
- 程式會在同一個資料夾下建造一個 download 資料夾
- 資料夾內會有各個學期的子資料夾,如 110-1
- 這些資料夾裡面又會有那學期每堂課的子資料夾
- 程式會下載指定課程的資料到那堂課的資料夾中
- 上課教材和作業中的所有附件檔案,會存到課程資料夾的子資料夾中
- 上課教材中的youtube影片連結,會存到該篇上課教材的 youtube.txt 中
- 上課教材中的其他連結,會存到該篇上課教材的 other.txt 中
- 如果未輸入或輸入錯誤導致登入失敗,程式會再提供輸入區重新輸入
- 預設爬蟲的間隔時間是 2.5 ~ 4 秒,若常常碰到 Max retries exceeded 的 exception,可以將秒數調高,比較不會被系統擋
- 如果程式因為網路不穩等連線問題停掉,直接關掉重開就好
- 如果來不及下載完也可以直接關掉,下次會繼續下載
但如果在儲存檔案時發生錯誤或關掉程式,該檔案有可能會損壞
建議把最後下載的檔案或課程刪掉,下次執行會重新下載 - 注意不要讓電腦進入睡眠或休眠,程式有高機率會停掉