目录
爬取NBA球员数据并进行清洗
这里我是从https://nba.hupu.com/players这个网址爬取了库里和詹姆斯的生涯常规赛数据
库里数据的网址:斯蒂芬-库里|Stephen Curry|斯蒂芬-库里视频|图片|数据资料-虎扑NBA (hupu.com)
詹姆斯的网址:勒布朗-詹姆斯|LeBron James|勒布朗-詹姆斯视频|图片|数据资料-虎扑NBA (hupu.com)
解析库里数据的网页复制生涯常规赛数据的Xpath获取该表的每一个单元格数据的值,把爬取到的数据以表格对象的形式保存。
这里我把爬取并保存为表格数据封装为一个函数方便使用。
def getdata(url): data=requests.get(url).text s=etree.HTML(data) d=[[]for j in range(20)] for j in range(20): for i in range (19): a=s.xpath('//*[@id="in_box"]/div/div[1]/table[2]/tbody/tr['+str(j)+']/td['+str(i)+']/text()') b=str(a) c=b[2:-2] d[j].append(c) data1 = pd.DataFrame(d) data1=data1.drop(columns=0) data1.columns=['赛季', '球队', '场次', '首发', '时间', '投篮', '投篮命中率', '三分', '三分命中率', '罚球', '罚球命中率', '场均篮板', '场均助攻', '场均抢断', '场均盖帽', '场均失误', '场均犯规', '场均得分'] data1=data1.drop(index=[0,1]) return data1
运行函数并且把数据保存为excel文件
url='https://nba.hupu.com/players/stephencurry-3311.html' url1='https://nba.hupu.com/players/lebronjames-650.html' getdata(url).to_excel('Stephen Curry.xlsx',index=False) getdata(url1).to_excel('LeBron James.xlsx',index=False)
导入球员数据,这里把球员的投篮命中率转换为小数。
data = pd.read_excel(r"LeBron James.xlsx")
data1 = pd.read_excel(r"Stephen Curry.xlsx")
f