因為勞動部勞動力發展署網站實在太難用,所以自己開發一個好用的網站,然後部屬到 Heroku 上面。
Taiwan eTraining Course Finder 網站
實作上採用的是 Python3 搭配 Flask 架構。
在課程資料來源的部份,使用 Selenium 收集勞動部勞動力發展署網站公開的課程資料(目前收集的課程範圍只有臺北市和新北市),然後將課程資料建置索引之後儲存於 Sqlite3 的資料庫中,最後設定 cronjob 定期更新資料庫。
目前的功能:
- 直覺式的課程尋找. (暫時限定: 臺北市, 新北市)
- 顯示課程資訊、課程的報名時間與開訓時間。
- 顯示課程代碼,可以連結到相關課程的詳細介紹頁面。
建置課程資料庫
只要直接執行 model.py 就會完成收集課程資料和建立資料庫等動作。
簡單的 use case:
# build up db cd etraining-course-finder-heroku/ python3.* ./etraining_course_finder/model.py # update db to github git pull ; git add -u ; git commit -m'updated db' ; git push
部屬到 Heroku
很久以前就摸索過 Heroku 這個 PaaS 網站,當時就覺得 Heroku 很簡單好用,不論在安裝和部屬上都算是相當容易,有 github 的專案都可以直接 deployment,不過當你有使用到 Heroku 內建 plugin 的時候,就必須先透過信用卡卡號認證,即使你只是要用免費的 plugin,這算是稍嫌麻煩一點的地方。
同時,因為 Heroku 無法安裝 browser,就無法直接執行 Selenium,所以目前定期更新資料庫的 cronjob 是跑在本機端上面。
詳細使用教學可以參照 Github repository 的說明。
Github repository link: https://github.com/hansliu/etraining-course-finder-heroku