【问题标题】:Issue extracting data using BS4使用 BS4 提取数据的问题
【发布时间】:2013-05-19 19:38:21
【问题描述】:

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

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

【问题讨论】:

  • 您不应该搜索'span', class_='r' 而不是td吗?

标签: python beautifulsoup


【解决方案1】:

您正在寻找&lt;span&gt; 标签:

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

如果您只想在 td 带有 mstat 类的标签中找到带有该类的 span 标签,则需要循环:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多