Как я могу различить открытый тег и закрытый тег в функции findPrevious в BeautifulSoup? - PullRequest
0 голосов
/ 23 апреля 2011

Я хочу узнать, содержится ли искомый элемент в таблице.Я использую следующий код:

tableprevious = foundtext.findPrevious('table')

Однако этот код будет ссылаться на

<table> or </table>

и не позволяет различить, если найденный текст уже находится в таблице.Есть идеи?

1 Ответ

1 голос
/ 23 апреля 2011

Попробуйте метод 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...