用Python 建立分散式架構及監控系統:一堂課打造金融大數據戰情室
課程介紹
隨著資料量級上升及反爬蟲技術的進步,以自動化分散式的進行資料搜集早已成為無可避免的趨勢,我們將帶你打造一站式分散資料搜集監控系統。 學員將學到如何部署分散式爬蟲來大大拓展爬蟲效率,不再受限於單一機器上,並使用關聯式資料庫存放,最後還有完整的監控系統。
什麼是 「分散式系統」?
分散式系統是一套,能讓同時使用 10 台、100台機器,去負擔你的服務。例如後端、 爬蟲、資料處理等等。
為什麼要懂 「分散式技術、 爬蟲監控系統」, 跟我有什麼關係?
因為資料與使用者規模的成長,單機應用在多數產品上已經無法應付,分散式架構成為了業界的 主流應用,了解了分散式架構,能夠在求職中獲得巨大的優勢。
課程特色
解析 GitHub 上擁有超過 1,600 Stars的知名金融大數據開源專案 - FinMind 所使用的關鍵技術。
本課程會提供完整的課程原始碼,只要跟著操作,一定能夠完成。
驗證碼、Google reCAPTCHA 等反爬機制破解。
分散式系統 Rabbitmq、Celery 。
開發自己的分散式系統,課程中以爬蟲為例,課程之外也能用來部署自己的應用程式。
透過分散式的方式來加速爬蟲,提升資料收集速度、系統穩定度、並預留未來拓展性,還能減少 IP 被封鎖的情況。
關聯式資料庫-MySQL。
使用 Docker 一鍵架設。
大數據監控系統 Grafana、Promethus、Chatbot。
建立分散式爬蟲,在蒐集資料的同時進行資料檢查,確保資料完整性。
進行大規模爬蟲、資料處理時,有效監控當前進度。
以 Grafana、Promethus,建立 Dashboard 監控儀表板,協助使用者了解資料狀況的同時監測異常,並實時對 Slack、Telegram、Gmail 等發出 Alert 。
本課程的爬蟲以 FinMind 實務案例進行探討,不同於一般爬蟲課程,會更能貼近業界遇到的真實情況。
與其他 Python 爬蟲課程差異性。
本課程著重在分散式架構的建立與維護,除了課程中的案例,課後可以相同的架構使用在各種情境,例如IoT設備、後端、DevOps等應用。
本課程提供了 End to End 的資料蒐集解決方案,讓你清楚明了每一步流程,包含了資料獲取、資料儲存管理、資料監控等。
資料品質與機器監控,這是一般市面上的課程欠缺的部份,但這些技能,在業界一定會用到。但一般人不容易接觸到這塊,所以才想推出本課程,並以 FinMind 為例,彌補市場不足。
這堂課適合誰
想進一步提升大數據處理能力,學習爬進階爬蟲(分散式)
想提升工程能力,突破效能瓶頸,並完成一個 side project。
想要入門 Python 的同學
想要成為資料工程師
設備需求
Python 3.6
VS code 1.41.1
Docker、Docker Compose
建議 Windows 的學員,安裝 WSL,Ubuntu、Mac 的成員則無需安裝。
課程大綱
第一章
Python 爬蟲
第零章:環境設定
1-1 章節介紹
1-2 爬蟲介紹
1-3 爬蟲 - 台股證交所
1-4 爬蟲 - 台股櫃買中心
1-5 爬蟲 - 台股期交所
1-6 章節回顧
第二章
Docker 安裝
2-1:為什麼使用 Docker?
2-2:Docker 安裝
Linux
Mac
Windows
2-3 Docker 介紹
Dockerfile - image - container
Volume
Network
應用實做
2-4 Docker 工具介紹
docker compose
docker registry
docker swarm
docker portainer
第三章
分散式架構
3-1:為什麼需要分散式
3-2:分散式工具介紹 - Rabbitmq、Flower、Celery
3-3:建置分散式環境
3-4:Python 分散式工具 Celery 介紹與實作
3-5: Celery 結合爬蟲
3-6:MySQL 資料庫建置
3-7:分散式架構結合資料庫
第四章
雲端部屬,實務上的分散式架構
4-1:為什麼使用雲端
4-2:申請 3 台雲端機器
4-3:雲端建立 rabbitmq、flower、mysql4
4-4:建立爬蟲 Docker Image、部屬爬蟲
4-5 分散式爬蟲展示
第五章
爬蟲監控系統
5-1:章節介紹
5-2:為什麼需要監控系統
5-3:監控系統介紹
5-4:監控系統建置
5-5 : 章節回顧
第六章
監控系統
6-1:監控系統上雲端
6-2:打造完整的監控系統 by Grafana & Prometheus
6-3:監控 container by cadvisor
6-4:監控機器狀況 by netdata
6-5 : Alert 系統 - chatbot
6-6 : 章節回顧
作業 - 專案
使用分散式爬蟲成功抓到櫃買中心資料
資料上傳資料庫
設定監控指標
解鎖章節
600%:提供 Google reCAPTCHA 與常見圖靈驗證碼破解
900%:公開 20~30 支台股金融資料爬蟲程式碼
準備軟體或資源
Python 3.6
Vscode 1.41.1
Docker、Docker Compose
建議 Windows 的學員,安裝 WSL,Ubuntu、Mac 的成員則無需安裝。
Mastertalks