【发布时间】:2019-12-14 10:37:45
【问题描述】:
我正在尝试通过使用 Basketball-Reference 数据集来练习 BeautifulSoup 和 urlopen。当我尝试获取单个玩家的统计数据时,一切正常,但后来我尝试对团队的统计数据使用相同的代码,显然 urlopen 没有找到正确的表格。
以下代码是从页面中获取“标题”。
def fetch_years():
#Determine the urls
url = "https://www.basketball-reference.com/leagues/NBA_2000.html?sr&utm_source=direct&utm_medium=Share&utm_campaign=ShareTool#team-stats-per_game::none"
html = urlopen(url)
soup = BeautifulSoup(html)
soup.find_all('tr')
headers = [th.get_text() for th in soup.find_all('tr')[0].find_all('th')]
headers = headers[1:]
print(headers)
我正在尝试获取球队每场比赛的统计数据,格式如下:
['Tm', 'G', 'MP', 'FG', ...]
相反,我得到的标题数据是:
['W', 'L', 'W/L%', ...]
这是1999-2000 season 团队信息中的第一个表格(名称为“Division Standings”)。
如果您对玩家的数据使用相同的代码,例如this one,您会得到我正在寻找的结果:
Age Tm Lg Pos G GS MP FG ... DRB TRB AST STL BLK TOV PF PTS
0 20 OKC NBA PG 82 65 32.5 5.3 ... 2.7 4.9 5.3 1.3 0.2 3.3 2.3 15.3
1 21 OKC NBA PG 82 82 34.3 5.9 ... 3.1 4.9 8.0 1.3 0.4 3.3 2.5 16.1
2 22 OKC NBA PG 82 82 34.7 7.5 ... 3.1 4.6 8.2 1.9 0.4 3.9 2.5 21.9
3 23 OKC NBA PG 66 66 35.3 8.8 ... 3.1 4.6 5.5 1.7 0.3 3.6 2.2 23.6
4 24 OKC NBA PG 82 82 34.9 8.2 ... 3.9 5.2 7.4 1.8 0.3 3.3 2.3 23.2
webscrape 的代码最初来自here。
【问题讨论】:
标签: python-3.x beautifulsoup urlopen