Python爬取虎扑NBA球员信息+数据可视化
时间: 2023-12-03 16:05:53 浏览: 246
好的,这个问题比较复杂,我将分成两部分回答。
第一部分:爬取虎扑NBA球员信息
首先,我们需要用到requests库来发送请求和获取响应,用到BeautifulSoup库来解析HTML文档。
接下来,我们需要找到虎扑NBA球员信息的链接,可以在虎扑NBA的主页上找到。链接为:https://nba.hupu.com/players。
然后,我们可以使用requests发送GET请求,获取网页的HTML文档。
```
import requests
from bs4 import BeautifulSoup
url = "https://nba.hupu.com/players"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
```
接下来,我们需要分析HTML文档,找到我们需要的数据。我们可以使用Chrome浏览器的开发者工具来查看网页的结构,然后使用BeautifulSoup来解析HTML文档。
```
table = soup.find_all('table', class_='players_table')[0]
rows = table.find_all('tr')
for row in rows:
cols = row.find_all('td')
for col in cols:
print(col.text.strip(), end=' ')
print()
```
这段代码可以获取到球员的基本信息,如姓名、出生日期、身高、体重、场均得分等等。
第二部分:数据可视化
我们可以使用Matplotlib库来进行数据可视化。首先,我们需要安装Matplotlib库。
```
pip install matplotlib
```
然后,我们可以使用pandas库来读取CSV文件,使用Matplotlib库来绘制图表。
```
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('nba_players.csv')
plt.scatter(df['height'], df['weight'], s=df['ppg']*10, alpha=0.5)
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.title('NBA Players')
plt.show()
```
这段代码可以绘制出一个散点图,用球员的身高和体重作为坐标轴,用场均得分来调整点的大小。我们可以通过这个图来观察身高、体重和得分之间的关系。
阅读全文