gpt4 book ai didi

python - BeautifulSoup 不在已找到的标签中递归搜索

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:05 25 4
gpt4 key购买 nike

我目前正在处理包含列表的维基百科文章。

我现在已经收到文章 List of Archdeacons in the Diocese in Europe 。为了获取 ul(或表)标签,我使用 BeautifulSoup (Python 2.7)。我发现文章的内容包含在“mw-content-text”标签中:

article = soup.find('div', {'id':'mw-content-text'})
lists = article.find_all('ul')

这就是我获取列表的方式,它适用于此示例。但有些文章的列表包含其他列表,我不希望 BS 跟踪这些子列表。我怎么说废话,当它找到标签时我不必再深入查看?

参数recursive不是我要寻找的,因为列表可能位于div标签中。

附:This用户正在寻找相同的解决方案,但没有得到正确的答案:“有没有办法让 BS 不递归搜索已找到的标签?”

最佳答案

一种可能的方法是使用 function搜索 ul 标签。对于找到的每个 ul 标签,检查是否使用 find_parent() 找到父 ul 标签。 :

article.find_all(lambda x: x.name == 'ul' and x.find_parent("ul") is None)

关于python - BeautifulSoup 不在已找到的标签中递归搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30192141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com