利用Echarts制作NBA球员个人数据可视化
数据获取
可视化萌新,希望各路大神看见我蹩脚的代码不要嫌弃?
本次采用的数据全部是本人利用python在网页上爬取得数据,保存成.josn文件,结构比较简单,使用起来也非常方便。数据分为两大部分:
1.50名球员的个人数据
2. 50名球员的头像链接地址
接下来是两段代码,分别是爬取上面两个JSON文件的代码,
#获取球员数据
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
import json
def get_data():
url="https://nba.hupu.com/stats/players" #https://nba.hupu.com/stats/players 体育网页
response=requests.get(url=url)
dObject = []
#dzidian={}
#html1 = response.content.decode("UTF-8")
html = BeautifulSoup(response.content.decode("UTF-8"), "html.parser").findAll('table',{
'class':["players_table"]})[0].tbody.find_all('tr')
for i in range(1,len(html)):
dzidian = {
}
tdData=html[i].find_all('td')
categroy=['排名', '球员','球队','得分','出手','命中率','三分命中数','三分命中率','罚球数','罚球命中率','场次','上场时间']
for j in range(len(tdData)):
dzidian[categroy[j]]=tdData[j].string
#('排名', '球员','球队','得分','出手','命中率','三分命中数','三分命中率','罚球命中数','罚球命中率','场次','上场时间')
dzidian['排名']=int(dzidian['排名'])
dzidian['得分']=float(dzidian['得分'])
dzidian['出手']=float(dzidian['出手'].split("-")[1])
dzidian[