【问题标题】:Beautifulsoup FindAll by class attributeBeautifulsoup FindAll 按类属性
【发布时间】:2017-08-03 21:09:04
【问题描述】:

我有一个html代码如下:

<div class="_cFb">  
<div class="_XWk">Rabindranath Tagore</div>
</div>

我使用以下python代码提取文本内容:

soup.find_all('div', attrs={'class':'._XWk'})

此代码返回空。但是,我可以访问不以下划线(_)开头的其他类属性。提取标签文本的任何想法?

【问题讨论】:

  • 你在类名前面有一个.。也许删除它会有所帮助?

标签: python-2.7 beautifulsoup


【解决方案1】:

这行得通:

>>> import bs4
>>> soup = bs4.BeautifulSoup('''<div class="_cFb">  
... <div class="_XWk">Rabindranath Tagore</div>
... </div>''', 'html.parser')
>>> soup.find_all('div', class_='_XWk')
[<div class="_XWk">Rabindranath Tagore</div>]

在这里找到了按类别搜索的方法:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-by-css-class

顺便说一句,lxml 框架也可用于解析 HTML,它允许使用 CSS 选择器进行搜索。

【讨论】:

    【解决方案2】:
    In [87]: soup.find_all('div', attrs={'class':'_XWk'})
    

    删除._XWk中的.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 2012-05-18
      • 2017-01-21
      • 2013-09-14
      • 1970-01-01
      • 2013-06-12
      相关资源
      最近更新 更多