用Python自动生成NBA巨星生涯数据曲线
1.序
之前寫過一個用 python 自動生成球員職業生涯數據的程序(原文請關注本人公眾號),大家的反響很好,我也感到很欣慰。有問我怎么做的,如何學 python 的,也有提建議說集成到 web 里面的。
其實最開始我也是考慮到集成到 web 里面,但是由于時間關系,只是簡單的做了一下,沒想到引起了大家的關注和建議。所以這次就做了升級,集成到 web 中!
先看效果吧,比如在本地:
http://127.0.0.1:5800/retire/player?retire=喬丹&game=1
http://127.0.0.1:5800/retire/player?retire=科比&game=1
2.環境配置
.語言:Python3 .編輯器:Pycharn .web框架:Flask .數據可視化:Pyecharts
項目主目錄有個 requirements.txt 文件,里面是項目所需要的依賴包,你只需在終端輸入以下命令
pip install -r requirements.txt 復制代碼依賴包就會自動安裝
3.功能升級
現升級完之后加入了以下功能:
3.1 將爬蟲集成到web中,通過在瀏覽器輸入球隊名稱獲取球隊下所有球員
http://127.0.0.1:5800/nba/team?name=猛龍
3.2 支持現役所有球員生涯數據曲線,同時包括常規賽和季后賽數據
倫納德常規賽和季后賽數據
http://127.0.0.1:5800/nba/player?game=0&player=kawhileonard-3568.html&color=yellow
當 game=0 的時候,獲取常規賽數據,game=1 獲取季后賽數據
不得不吐糟一下公眾號只支持上傳 2M 以下的 gif,gif 大了又不支持,gif 小了又不清晰... 所以很多時候錄完視頻后裁剪成 gif 要花費十幾二十分鐘的時間,很痛苦...哪位朋友有好方法,還請聯系我!
3.3 同時支持退役球星數據,比如籃球界第一老流氓 喬丹
3.4 支持更改背景顏色,同時支持圖片下載
比如 魔術師約翰遜 的數據,在請求的時候加入 color 參數
http://127.0.0.1:5800/retire/player?retire=魔術師&game=1&color=yellow
根據你傳的 color 設置背景色,同時左上角有個下載按鈕,點擊可下載。是不是很強大!
4.代碼講解
4.1 Flask部分
請求地址:共有三個請求地址,代碼所在 urls.py,可以根據個人喜好修改地址
其中根據球隊獲取球員地址為 /nba/team/, 現役球員生涯數據為 /nba/player/, 退役球星數據為 /retire/player/
請求參數:代碼所在 forms.py
具體該傳什么參數,代碼在上面。其中 color 是可選的!
運行項目:項目主目錄下有個 run.py 文件,直接運行即可!
4.2 爬蟲部分
之前程序是抓的虎撲上面的數據,虎撲網有個 bug :每個球員都多了一條 2017 年匯總的數據(不清楚是干什么的),現已修正。而且虎撲不支持歷史球員數據查詢,所以現在加入了一個新網站,代碼部分如下:
主要涉及到 html 提取技術,之前文章都有介紹,不詳說了。
4.3 數據可視化部分
此部分主要是將 pyecharts 集成到 flask 中,集成的文件在 templates 中有些是默認文件,新增的部分是發送 ajax 請求,生成球員曲線。沒有什么太多要說的,因為我之前的文章都有介紹過 pyecharts 的用法.
本文首發于公眾號:【Python編程與實戰】
源碼地址:github.com/GoJerry/nba…
轉載于:https://juejin.im/post/5d3e9dc6f265da1bab29f754
總結
以上是生活随笔為你收集整理的用Python自动生成NBA巨星生涯数据曲线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dev-cpp linux,QT4+De
- 下一篇: C语言仓库管理系统