使用BS4发出数据提取

时间:2013-05-19 19:38:21

标签: python beautifulsoup

我正在尝试使用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'

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

1 个答案:

答案 0 :(得分:0)

您正在寻找<span>代码:

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

如果您只想在span标记中找到包含该类的td标记,则需要循环播放mstat类:

spans = []
for td in soup('td', class_='mstat'):
    spans.expand(td('span', class_='r'))