1

html代码:

<td class="_480u">
    <div class="clearfix">
        <div>
            Female
        </div>
    </div>
</td>

我想要值“女性”作为输出。

我试过了bs.findAll('div',{'class':'clearfix'})bs.findAll('tag',{'class':'_480u'}) 但是这些类都在我的 html 代码中,输出是一个大列表。我想在我的搜索中合并 {td --> class = ".." 和 div --> class = ".."},这样我就得到了女性的输出。我怎样才能做到这一点?

谢谢

4

1 回答 1

6

使用stripped_strings属性:

>>> from bs4 import BeautifulSoup
>>>
>>> html = '''<td class="_480u">
...     <div class="clearfix">
...         <div>
...             Female
...         </div>
...     </div>
... </td>'''
>>> soup = BeautifulSoup(html)
>>> print ' '.join(soup.find('div', {'class': 'clearfix'}).stripped_strings)
Female
>>> print ' '.join(soup.find('td', {'class': '_480u'}).stripped_strings)
Female

或将类指定为空字符串(或None)并使用string属性:

>>> soup.find('div', {'class': ''}).string
u'\n            Female\n        '
>>> soup.find('div', {'class': ''}).string.strip()
u'Female'
于 2013-08-26T12:12:22.497 回答