帮我用python写一个爬取NBA官网球员数据的程序询问哪些球员出来哪些球员数据
当爬取NBA官网球员数据时,你可以使用Python中的requests和BeautifulSoup库来完成任务。以下是一个示例程序,用于爬取指定球员的数据:
import requests
from bs4 import BeautifulSoup
def get_player_data(player_name):
url = 'https://www.nba.com/players/'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
player_data = {}
# 找到所有球员姓名和链接
player_list = soup.find_all('a', class_='nba-player-index__name')
for player in player_list:
if player_name.lower() in player.text.lower():
player_url = player['href']
player_data['name'] = player.text
player_data['url'] = player_url
# 访问球员链接获取球员数据
player_response = requests.get(player_url)
player_soup = BeautifulSoup(player_response.content, 'html.parser')
# 解析球员数据
player_stats = player_soup.find_all('div', class_='nba-player-vitals__bottom')
for stat in player_stats:
stat_label = stat.find('span', class_='nba-player-vitals__bottom-label').text.strip()
stat_value = stat.find('span', class_='nba-player-vitals__bottom-info').text.strip()
player_data[stat_label] = stat_value
break
return player_data
# 询问用户要查询的球员
player_name = input('请输入球员姓名:')
# 获取球员数据
player_data = get_player_data(player_name)
# 打印球员数据
if player_data:
print('球员姓名:', player_data['name'])
print('球队:', player_data['TEAM'])
print('位置:', player_data['POSITION'])
print('身高:', player_data['HEIGHT'])
print('体重:', player_data['WEIGHT'])
print('生日:', player_data['BIRTHDATE'])
else:
print('未找到该球员的数据。')
请注意,此程序可能会受到NBA官网结构更改的影响。如果NBA官网的HTML结构发生变化,可能需要相应地调整爬取逻辑
原文地址: http://www.cveoy.top/t/topic/h70L 著作权归作者所有。请勿转载和采集!