0

我正在尝试使用 bs4 从网站中提取一些数据,但是我无法访问我需要的确切文本。使用以下代码

name = (soup('td', {'class':'mstat'}))

输出

[<td class="mstat" colspan="3"><span class="r">badges</span></td>]

但是我需要“r”类。如果我尝试使用以下代码访问类“r”,我只会得到一个空列表返回 []

name = (soup('td', {'class':'r'}))

输出

[]

我想得到“徽章”的文本,文本可以改变长度并且不同,所以我不能只删除周围的代码。

期望的输出

'badges'

有谁知道我做错了什么...

4

1 回答 1

0

您正在寻找<span>标签:

soup('span', class_='r')

如果您只想在具有该类的标签span内查找具有该类的标签,则需要循环:tdmstat

spans = []
for td in soup('td', class_='mstat'):
    spans.expand(td('span', class_='r'))
于 2013-05-19T20:12:09.007 回答