gpt4 book ai didi

python - 如何在 Beautiful Soup 中打印出表格行的所有单元格

转载 作者:行者123 更新时间:2023-11-28 22:18:39 31 4
gpt4 key购买 nike

我才刚刚开始学习如何使用 Beautiful Soup。

作为练习,我选择了 this page from ESPN .

那里有一张 table ,上面有 NBA 球员和他们的幻想排名。我能够打印出整行,它显示了我在浏览器中看到的所有内容。

但是,当我单独打印每个单元格时,它打印出“无”,因为出于某种原因,它无法解析包含 anchor 的单元格

下面是我的代码:

from bs4 import BeautifulSoup

import urllib2
import re

if __name__ == '__main__':
url = "http://www.espn.com/espn/print?id=20443164"
resp = urllib2.urlopen(url)
soup = BeautifulSoup(resp.read())

table = soup.find_all("table")
mytable = table[2]
rows = mytable.findChildren(['th','tr'])
print rows
for row in rows:
cells = row.findChildren('td')
for cell in cells:
# print cell.string # line in question
print cell # line in question

如果我用

print cell

我得到以下输出:

<td>1. <a href="http://www.espn.com/nba/player/_/id/3032977/giannis-antetokounmpo">Giannis Antetokounmpo</a>, SF/PF</td>
<td>PHI</td>
<td>C24</td>

如果我用

print cell.string

我得到以下输出:

None
MIL
SF1

那么我怎样才能在没有“td”标签的情况下打印出所有内容,同时识别第一个单元格中的所有内容而不打印“None”?

最佳答案

在你的最后一个循环中尝试这个。将 cell.string 更改为 cell.text

for cell in cells:
print cell.text

关于python - 如何在 Beautiful Soup 中打印出表格行的所有单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50341704/

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