Dự án thu thập, phục vụ API và phân tích dữ liệu cầu thủ/CLB Ngoại hạng Anh. Mọi đường dẫn xuất hiện trong code đang trỏ tới ổ E:\Python\BTL\RESULTS\...; hãy chỉnh lại nếu chạy ở máy khác.
Code/TASK1/CODE/Task_1.py: Crawl chỉ số từ fbref.com bằng Selenium, chuẩn hóa tên cầu thủ, lưu toàn bộ dữ liệu vào SQLitecau_thu.dbvà bảngplayer_transfers.Code/TASK2/CODE/app.py: Flask API đọc SQLite, cung cấp/api/health,/api/columns,/api/player?name=,/api/club?club=.Code/TASK2/CODE/lookup.py: CLI gọi API để tra cứu và xuất CSV (lưu dướiE:\Python\BTL\RESULTS\TASK2\OUTPUT\).Code/TASK3/CODE/Task_3_1.py: Phân tích thống kê theo đội, tính form score (z-score), xuất CSV và biểu đồ.Code/TASK3/CODE/Task_3_2_pipeline_optimized_rdfr.py: Ghép bảng transfers + players, huấn luyện RandomForest (GridSearch), lưu model và feature importance.Code/TASK3/CODE/Task_3_2_predict_players.py: Nạp model đã huấn luyện, dự đoán giá trị cầu thủ, xuất CSV và các biểu đồ đánh giá.Code/TASK4/CODE/Task_4_3_final.py&Task_4_12_final.py: Phân cụm cầu thủ (KMeans, PCA), loại outlier và xuất thống kê cụm.
- Python 3, Chrome + ChromeDriver (dùng
webdriver_manager). - Thư viện chính: selenium, requests, beautifulsoup4, lxml, pandas, numpy, flask, flask-cors, scikit-learn, xgboost, matplotlib, seaborn, joblib.
- Cần quyền ghi vào các thư mục output đã hard-code.
-
Crawl & tạo DB
python Code/TASK1/CODE/Task_1.py
Sinh SQLite tại.../TASK1/OUTPUT/cau_thu.dbvà bảngplayer_transfers. -
Khởi động API (cần DB có sẵn)
set DB_PATH=E:\Python\BTL\RESULTS\TASK1\OUTPUT\cau_thu.db
python Code/TASK2/CODE/app.py -
Tra cứu nhanh & xuất CSV
set API_BASE=http://127.0.0.1:5000(tuỳ chọn)
python Code/TASK2/CODE/lookup.py --name "Erling Haaland"
hoặc--club "Arsenal". -
Phân tích/huấn luyện
python Code/TASK3/CODE/Task_3_1.py→ thống kê đội, form score, biểu đồ.python Code/TASK3/CODE/Task_3_2_pipeline_optimized_rdfr.py→ train & lưu model.python Code/TASK3/CODE/Task_3_2_predict_players.py→ dự đoán và vẽ biểu đồ.
- Phân cụm cầu thủ
Chạy hai script trongCode/TASK4/CODEđể tạo báo cáo và CSV cụm.
- Nguyễn Văn Hoàng
- Vũ Anh Tuấn
- Phạm Hoàng Việt