2017-07-19 108 views
-1

我有以下的HTML,我需要获取标记的内容:我尽量选择“礼”与Beautifulsoup:不能选择孩子

<li class="tag"> 
    <a class="remove-tag" href="#"> 
     <i class="delete-tag" title="Delete"></i> 
    </a> 
    <a href="#">Nature</a> 
</li> 

第一:在这种情况下,即“自然” 'tag'类。

soup.findAll("all", {"class": "tag"}) 

如何获取标签的内容:a?

+0

内容:一个?你的意思是标签? –

回答

0

如果你做了一个findAll汤,它会发现不需要遍历。

soup.findAll("a", {"class": "classname"}) 
0

你想soup.findAll("li", {"class": "tag"})[0].a,那就是:

<a class="remove-tag" href="#"> 
<i class="delete-tag" title="Delete"></i> 
</a> 
2

您可以使用CSS选择器,你可能很熟悉。

>>> soup.select_one("li.tag a:nth-of-type(2)").text 
u'Nature' 
+1

好吧,他们中的一些无论如何:) – pguardiario

0

希望这有助于!

lis = soup.find_all('li', class_='tag') 
data_rows=lis.findAll('a') 
data=[data_rows[i].getText() for i in range(len(data_rows))] 



不要忘了让我们知道是否能解决你的问题:)标签