Beautifulsoup FindAll by class属性

时间:2017-03-13 18:13:00

标签: python-2.7 beautifulsoup

我有一个html代码如下:

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

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

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

此代码返回空。但是我能够访问不以下划线(_)开头的其他类atrributes。有任何提取标签文字的想法吗?

2 个答案:

答案 0 :(得分: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选择器进行搜索。

答案 1 :(得分:0)

In [87]: soup.find_all('div', attrs={'class':'_XWk'})

删除.

中的._XWk