如何在beautifulsoup中只获取完整的li标签? [复制]
Posted
技术标签:
【中文标题】如何在beautifulsoup中只获取完整的li标签? [复制]【英文标题】:How to get only full li tags in beautifulsoup? [duplicate] 【发布时间】:2018-08-04 20:10:43 【问题描述】:我有以下情况
<ul class="fullname">
<li><a href="">some name</a></li>
<li>
<ul>
<li>name1</li>
<li>Name2</li>
</ul>
</li>
<ul>
<li>name3</li>
<li>Name4</li>
</ul>
</li>
</ul>
我只想要子元素中的三个元素,在第一个索引中
<li><a href="">some name</a></li>
和第二个 <ul><li>name1</li><li>Name2</li></ul>
我已经尝试了以下
navContent = content.find("li","class":"fullname")
children = navContent.find_all("li")
但在第二个索引中,它给出的是<li>name1</li>
,而不是整个li
。我怎样才能得到它?
【问题讨论】:
【参考方案1】:使用recursive=False
来自文档:
如果您调用
mytag.find_all()
,Beautiful Soup 将检查mytag
的所有后代:它的孩子、它孩子的孩子等等。如果只希望美汤考虑直子,可以传入recursive=False
。
navContent = content.find("ul","class":"fullname")
children = navContent.find_all("li", recursive=False)
【讨论】:
以上是关于如何在beautifulsoup中只获取完整的li标签? [复制]的主要内容,如果未能解决你的问题,请参考以下文章