python beautifulsou拉列表/字典

2024-04-27 16:27:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我仍在学习如何利用美丽的心灵。我已经设法使用了标签和什么来不从https://fantasydata.com/nfl-stats/team-details/CHI的深度图表表中提取数据

但现在我想把所有的名单都拉出来。我好像不太明白那东西的标签。我确实注意到在源代码中,信息是在一个带有字典的列表中,如图所示:

vm.Roster = [{"PlayerId":16236,"Name":"Cody Parkey","Team":"CHI","Position":"K","FantasyPosition":"K","Height":"6\u00270\"","Weight":189,"Number":1,"CurrentStatus":"Healthy","CurrentStatusCol

...

什么是一个优雅的方式拉满名册表?我的想法是,如果我能抓取那个列表/字典,我就可以转换成一个数据帧。但不确定如何获取它,或者是否有更好的方法将该表放在python的数据帧中。你知道吗


Tags: 数据httpscom利用列表字典stats标签
1条回答
网友
1楼 · 发布于 2024-04-27 16:27:34

一种可能的解决方案是使用正则表达式来提取原始JSON对象,然后可以使用JSON库加载该对象。你知道吗

from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
import json

html_page = urlopen("https://fantasydata.com/nfl-stats/team-details/CHI")
soup = BeautifulSoup(html_page, "html.parser")
raw_data = re.search(r"vm.Roster = (\[.*\])", soup.text).group(1)
data = json.loads(raw_data)

print(data[0]["Name"])  # Cody Parkey

应该注意的是,以这种方式从该特定网站上刮取数据很可能违反了他们的服务条款,在某些司法管辖区甚至可能是非法的。你知道吗

相关问题 更多 >