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