如何在BeautifulSoup的findPrevious函数中区分开放标记和封闭标记?

时间:2011-04-23 03:06:21

标签: python tags beautifulsoup

我想查找搜索的项目是否包含在表格中。我使用以下代码:

tableprevious = foundtext.findPrevious('table')

但是,此代码将引用

<table> or </table>

并且无法区分foundtext是否已存在于表中。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试使用findParent()方法。如果项目包含在表格中,则它将具有表格标记作为祖先。例如:

from BeautifulSoup import BeautifulSoup

html = '<table><tr><td><b>In table</b></td></tr></table><b>Not in table</b>'
soup = BeautifulSoup(html)
items = soup('b')
for item in items:
    if item.findParent('table'):
        print item

输出:

<b>In table</b>