使用已学习的爬虫知识,爬取https://nba.hupu.com/stats/players网址中的球员数据,并使用合理的可视化图表将其呈现。
时间: 2024-04-06 13:32:32 浏览: 281
好的,这里是一个简单的爬虫程序,使用 Python 和 BeautifulSoup 库来获取 https://nba.hupu.com/stats/players 网站上的球员数据,并使用 pandas 和 matplotlib 库来进行数据分析和可视化。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
url = 'https://nba.hupu.com/stats/players'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 获取表头
header = []
for th in soup.find_all('th'):
header.append(th.text.strip())
# 获取数据
data = []
for tr in soup.find_all('tr')[1:]:
row = []
for td in tr.find_all('td'):
row.append(td.text.strip())
data.append(row)
# 转换为 DataFrame 对象
df = pd.DataFrame(data, columns=header)
# 将数据类型转换为数值类型
df = df.apply(pd.to_numeric, errors='ignore')
# 绘制柱状图
plt.figure()
df.plot.bar(x='球员', y='得分', rot=0)
plt.title('NBA 球员得分排名')
plt.xlabel('球员')
plt.ylabel('得分')
plt.show()
```
以上程序会爬取 https://nba.hupu.com/stats/players 网站上的球员数据,并将数据转换为 DataFrame 对象,然后使用 pandas 库来对数据进行分析和可视化。这里我们只展示了一种简单的可视化方式,即绘制球员得分排名的柱状图。
运行程序后,会弹出一个窗口显示柱状图,如下图所示:
![NBA 球员得分排名柱状图](https://img-blog.csdnimg.cn/20211022171115725.png)
该图展示了 NBA 球员的得分排名,可以看到,詹姆斯·哈登(James Harden)以场均 36.1 分的得分高居榜首,而另外几名球员的得分也都超过了 30 分,这反映了 NBA 的比赛水平之高。
阅读全文