用Python自動生成NBA歷史巨星和現役球員生涯曲線

本文技術棧:html

爬蟲

Flask

pyecharts

1.序

以前寫過一個用 python 自動生成球員職業生涯數據的程序,你們的反響很好,我也感到很欣慰。有問我怎麼作的,如何學 python 的,也有提建議說集成到 web 裏面的。python

其實最開始我也是考慮到集成到 web 裏面,可是因爲時間關係,只是簡單的作了一下,沒想到引發了你們的關注和建議。因此此次就作了升級,集成到 web 中!web

先看效果吧,好比在本地:ajax

http://127.0.0.1:5800/retire/player?retire=喬丹&game=1編程

喬丹

http://127.0.0.1:5800/retire/player?retire=科比&game=1flask

科比

2.環境配置

.語言:Python3.編輯器:Pycharn.web框架:Flask.數據可視化:Pyecharts瀏覽器

項目主目錄有個 requirements.txt 文件,裏面是項目所須要的依賴包,你只需在終端輸入如下命令echarts

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 如下的 gifgif 大了又不支持,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,能夠根據我的喜愛修改地址

urls

其中根據球隊獲取球員地址爲 /nba/team/, 現役球員生涯數據爲 /nba/player/, 退役球星數據爲 /retire/player/

請求參數:代碼所在 forms.py

參數

具體該傳什麼參數,代碼在上面。其中 color 是可選的!

運行項目:項目主目錄下有個 run.py 文件,直接運行便可!

4.2 爬蟲部分

以前程序是抓的虎撲上面的數據,虎撲網有個 bug :每一個球員都多了一條 2017 年彙總的數據(不清楚是幹什麼的),現已修正。並且虎撲不支持歷史球員數據查詢,因此如今加入了一個新網站,代碼部分以下:

主要涉及到 html 提取技術,以前文章都有介紹,不詳說了。

4.3 數據可視化部分

此部分主要是將 pyecharts 集成到 flask 中,集成的文件在 templates 中有些是默認文件,新增的部分是發送 ajax 請求,生成球員曲線。沒有什麼太多要說的,由於我以前的文章都有介紹過 pyecharts 的用法

瞭解更多內容,煩請關注公衆號 Python編程與實戰

相關文章
相關標籤/搜索