如何使用BeautifulSoup无类提取值(How to extract values with

2019-09-27 23:45发布

HTML代码:

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

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

我试图bs.findAll('div',{'class':'clearfix'}) ; bs.findAll('tag',{'class':'_480u'})但这些类都在我的HTML代码和输出是一个大名单。 我想结合{TD - >类=“..”和DIV - >类=“”}在我的搜索,所以我得到的输出为女性。 我怎样才能做到这一点?

谢谢

Answer 1:

使用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'


文章来源: How to extract values with BeautifulSoup with no class