Python BeautifulSoup不在已找到的标记中搜索递归
我现在正在处理维基百科中包含列表的文章 我现在拿到那篇文章了。为了获得ul(或table)标记,我使用了BeautifulSoup(python2.7)。 我发现文章的内容包含在“mw内容文本”标签中:Python BeautifulSoup不在已找到的标记中搜索递归,python,html,python-2.7,beautifulsoup,html-parsing,Python,Html,Python 2.7,Beautifulsoup,Html Parsing,我现在正在处理维基百科中包含列表的文章 我现在拿到那篇文章了。为了获得ul(或table)标记,我使用了BeautifulSoup(python2.7)。 我发现文章的内容包含在“mw内容文本”标签中: article = soup.find('div', {'id':'mw-content-text'}) lists = article.find_all('ul') 这就是我获取列表的方式,它在这个例子中起作用。但是有些文章的列表包含其他列表,我不希望BS跟踪这些子列表。当它发现一个标签时,
article = soup.find('div', {'id':'mw-content-text'})
lists = article.find_all('ul')
这就是我获取列表的方式,它在这个例子中起作用。但是有些文章的列表包含其他列表,我不希望BS跟踪这些子列表。当它发现一个标签时,我如何说我不必再深入查看
参数recursive不是我想要的,因为列表可能在div标记中
注意:用户正在寻找相同的解决方案,但没有得到正确的答案:“有没有办法让BS不递归搜索已找到的标签?”一种可能的方法是使用a搜索
ul
标签。对于找到的每个ul
标签,使用以下方法检查是否没有找到父ul
标签:
article.find_all(lambda x: x.name == 'ul' and x.find_parent("ul") is None)