BeautifulSoup不要在已找到的标记中递归搜索

2024-05-19 03:38:09 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我现在有文章List of Archdeacons in the Diocese in Europe。为了获得ul(或表)标记,我使用beauthoulsoup(python2.7)。 我发现文章的内容包含在“mw content text”标签中:

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

所以这就是我得到列表的方法,在这个例子中是有效的。但是有些文章中列表包含其他列表,我不希望BS跟踪这些子列表。当它发现一个标签时,我怎么说不用再看得更深?在

参数recursive不是我要查找的,因为列表可能在div标记中。在

注意:This用户正在寻找相同的解决方案,但没有得到正确的答案:“有没有一种方法可以使BS不递归地搜索已经找到的标记?”在


Tags: 方法textin标记div列表bsarticle
1条回答
网友
1楼 · 发布于 2024-05-19 03:38:09

一种可能的方法是使用function来搜索ul标记。对于找到的每个ul标记,请检查是否没有使用^{}找到父ul标记:

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

相关问题 更多 >

    热门问题