使用requests库、beautifuisoup4库爬取hupu球员的排名 球员 球队 得分 命中-出手 命中率 命中-三分 三分命中率 命中-罚球 罚球命中率 场次 上场时间,通过openpyxl库存储到excel文件中,使用cats,data,workbook,load_work,并选择合适的图表将前20名球员的数据呈现
时间: 2024-03-04 10:52:41 浏览: 64
好的,我会根据您的要求来回答您的问题。首先,我们需要安装requests库、beautifulsoup4库和openpyxl库。您可以使用以下命令来安装这些库:
```
pip install requests beautifulsoup4 openpyxl
```
接下来,我们需要编写爬虫代码来获取hupu球员的排名数据。以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
import openpyxl
# 请求hupu球员排名页面
url = 'https://nba.hupu.com/stats/players/pts'
# 发送get请求
response = requests.get(url)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'html.parser')
# 获取数据表格
table = soup.find('table', class_='players_table')
# 创建Excel文件
workbook = openpyxl.Workbook()
worksheet = workbook.active
# 写入表头
headers = ['排名', '球员', '球队', '得分', '命中-出手', '命中率', '命中-三分', '三分命中率', '命中-罚球', '罚球命中率', '场次', '上场时间']
worksheet.append(headers)
# 获取数据行
rows = table.tbody.find_all('tr')
# 写入数据
for row in rows:
data = []
# 获取每一列数据
cols = row.find_all('td')
for col in cols:
data.append(col.text.strip())
worksheet.append(data)
# 保存Excel文件
workbook.save('hupu_ranking.xlsx')
```
以上代码会爬取hupu球员排名页面,将数据存储到Excel文件中。您可以根据自己的需要修改Excel文件名称和路径。
接下来,我们可以使用openpyxl库读取Excel文件中的数据,并使用matplotlib库生成图表。以下是示例代码:
```python
import openpyxl
import matplotlib.pyplot as plt
# 打开Excel文件
workbook = openpyxl.load_workbook('hupu_ranking.xlsx')
worksheet = workbook.active
# 获取数据
data = []
for row in worksheet.iter_rows(min_row=2, max_row=21, values_only=True):
data.append(row[3])
# 生成图表
plt.bar(range(1, 21), data)
plt.title('Top 20 Players Ranking by Points')
plt.xlabel('Ranking')
plt.ylabel('Points')
plt.show()
```
以上代码会生成一个柱状图,用于展示前20名球员的得分排名。您可以根据自己的需要修改图表的标题、x轴标签和y轴标签。
希望以上代码对您有所帮助!
阅读全文