<tr> <td class="td_padding"> <a href="https://nba.hupu.com/players/stevenadams-4829.html" target="_blank"> <img src="https://gdc.hupucdn.com/gdc/nba/players/uploads/gamespace/players/34c826b1f90841f64d0347ff94514e71.png"/> </a> </td> <td class="left"> <b><a href="https://nba.hupu.com/players/stevenadams-4829.html" target="_blank">史蒂文-亚当斯</a></b> <p>(<b>Steven Adams</b>)</p> </td> <td>4</td> <td>C</td> <td>2.11米/6尺11</td> <td>120公斤/265磅</td> <td>1993-07-20</td> <td class="left">4年1亿美元,2017年夏天生效,2021年到期。2020年以2年3500万美元提前续约,2021年生效。<br/><b>本年薪金:2753万美元</b></td> </tr>
时间: 2023-08-08 20:12:55 浏览: 170
这是一段 HTML 代码,显示了 NBA 球员史蒂文-亚当斯的基本信息,包括照片、姓名、球衣号码、场上位置、身高体重、出生日期以及合同情况。其中,他的合同是在 2017 年夏天签订的,为期 4 年,总价值为 1 亿美元,2021 年到期。另外,他在 2020 年提前续约了 2 年,总价值为 3500 万美元,这个合同将在 2021 年生效。根据该信息,他本年的薪金是 2753 万美元。
相关问题
python爬虫https://nba.hupu.com/players/lebronjames-650.html数据并进行可视化分析
好的,我可以为您提供一些大致的步骤,供您参考。
1. 首先,你需要安装相关的 Python 库,如 requests、beautifulsoup4、pandas 和 matplotlib。你可以通过在终端中执行以下命令来安装它们:
```
pip install requests beautifulsoup4 pandas matplotlib
```
2. 接下来,你需要使用 requests 库来向目标网站发送请求并获取 HTML 页面的内容。你可以使用以下代码:
```python
import requests
url = 'https://nba.hupu.com/players/lebronjames-650.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
response = requests.get(url, headers=headers)
html = response.text
```
3. 然后,你需要使用 BeautifulSoup 库来解析 HTML 页面。你可以使用以下代码:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
```
4. 接下来,你需要找到包含球员数据的表格并提取数据。你可以使用以下代码:
```python
table = soup.find('table', {'class': 'players_table'})
rows = table.find_all('tr')
data = []
for row in rows[1:]:
cols = row.find_all('td')
cols = [col.text.strip() for col in cols]
data.append(cols)
```
5. 接下来,你可以将数据转换为 pandas DataFrame,并进行一些基本的清理和转换。你可以使用以下代码:
```python
import pandas as pd
df = pd.DataFrame(data, columns=['season', 'team', 'games_played', 'games_started', 'minutes', 'points', 'rebounds', 'assists', 'steals', 'blocks', 'turnovers', 'field_goal_percentage', 'three_point_percentage', 'free_throw_percentage'])
df['games_played'] = df['games_played'].astype(int)
df['games_started'] = df['games_started'].astype(int)
df['minutes'] = df['minutes'].astype(int)
df['points'] = df['points'].astype(float)
df['rebounds'] = df['rebounds'].astype(float)
df['assists'] = df['assists'].astype(float)
df['steals'] = df['steals'].astype(float)
df['blocks'] = df['blocks'].astype(float)
df['turnovers'] = df['turnovers'].astype(float)
df['field_goal_percentage'] = df['field_goal_percentage'].astype(float)
df['three_point_percentage'] = df['three_point_percentage'].astype(float)
df['free_throw_percentage'] = df['free_throw_percentage'].astype(float)
```
6. 最后,你可以使用 matplotlib 库来进行可视化分析。你可以使用以下代码:
```python
import matplotlib.pyplot as plt
plt.plot(df['season'], df['points'])
plt.title('LeBron James Points Per Season')
plt.xlabel('Season')
plt.ylabel('Points')
plt.show()
```
这是一个简单的例子,你可以根据自己的需要进行修改和扩展。希望这可以帮助你进行可视化分析。
import requests import pandas as pd from bs4 import BeautifulSoup # 发送请求获取网页内容 url = "https://nba.hupu.com/stats/players" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "Referer": "https://nba.hupu.com/stats/players" } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') # 解析数据并保存到Excel表格中 table = soup.find_all('table', attrs={'class': 'players_table'})[0] df = pd.read_html(str(table))[0] df.to_excel('player_stats.xlsx', index=False)给以上代码绘制一个雷达图
很抱歉,作为一个语言模型,我不能直接绘制雷达图。不过,您可以使用 Python 中的 matplotlib 库来绘制雷达图。
首先,您需要从 `player_stats.xlsx` 文件中读取数据,并选择您想要绘制的球员的数据。然后,将这些数据传递给雷达图的 `plot` 函数。以下是一个简单的例子:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_excel('player_stats.xlsx', header=1)
# 选择球员
player_name = 'Stephen Curry'
player_data = df[df['球员'] == player_name].iloc[:, 2:].values[0]
# 绘制雷达图
categories = df.columns[2:]
N = len(categories)
angles = np.linspace(0, 2*np.pi, N, endpoint=False)
player_data = np.concatenate((player_data, [player_data[0]]))
angles = np.concatenate((angles, [angles[0]]))
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, player_data, 'o-', linewidth=2)
ax.fill(angles, player_data, alpha=0.25)
ax.set_thetagrids(angles * 180/np.pi, categories)
ax.set_title(player_name)
ax.grid(True)
plt.show()
```
代码中,我们选择了 Stephen Curry 的数据,并绘制了一个雷达图。您只需要将 `player_name` 修改为您想要绘制的球员即可。同时,您也可以根据需要修改图表的标题、线条颜色、填充颜色等参数。
阅读全文