gpt4 book ai didi

python - 尝试使用 BeautifulSoup 获取 NFL 统计表的某些部分

转载 作者:太空宇宙 更新时间:2023-11-03 17:11:46 26 4
gpt4 key购买 nike

我正在尝试获取表格上的每个特定统计数据。我已经将范围缩小到一个团队的每一列,只需获取实际数字即可!我的代码是:

import requests
from bs4 import BeautifulSoup
url = 'http://espn.go.com/nfl/statistics/team/_/stat/defense/position/defense'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
HoustonDefense = soup.find('tr', class_="oddrow team-28-34")
print (HoustonDefense.prettify())

这会将 HoustonDefense 专栏打印如下:

<tr align="right" class="oddrow team-28-34">
<td align="left">
1
</td>
<td align="left">
<a href="http://espn.go.com/nfl/team/_/name/hou/houston-texans">
Houston
</a>
</td>
<td>
539
</td>
<td>
272
</td>
<td class="sortcell">
811
</td>
<td>
22.0
</td>
<td>
136
</td>
<td>
65
</td>
<td>
9
</td>
<td>
102
</td>
<td>
38
</td>
<td>
1
</td>
<td>
17
</td>
<td>
5
</td>
<td>
2
</td>
</tr>

我想抓取每个 <td></td> 之间的数字并将它们分配给一个变量。任何帮助都会很棒!谢谢!

最佳答案

使用find_all()查找tr内的所有td元素并获取每个td的文本发现除了前两个单元格(排名和团队名称本身):

[td.text for td in HoustonDefense.find_all("td")[2:]]

打印:

[u'539', u'272', u'811', u'22.0', u'136', u'65', u'9', u'102', u'38', u'1', u'17', u'5', u'2']

关于python - 尝试使用 BeautifulSoup 获取 NFL 统计表的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com