Используя BeautifulSoup, я могу быстро перейти к определенному родительскому элементу? - PullRequest
3 голосов
/ 15 августа 2010

Скажем, я ссылаюсь на элемент внутри таблицы на HTML-странице следующим образом:

someEl = soup.findAll(text = "some text")

Я точно знаю, что этот элемент встроен в таблицу, есть ли способ найти родительскую таблицу безнужно много раз звонить .parent?

<table...>

..
..
<tr>....<td><center><font..><b>some text</b></font></center></td>....<tr>

<table>

Ответы [ 2 ]

6 голосов
/ 15 августа 2010

Проверьте findParents, он имеет форму, аналогичную findAll:

soup = BeautifulSoup("<table>...</table>")

for text in soup.findAll(text='some text')
  table = text.findParents('table')[0]
  # table is your now your most recent `<table>` parent

Вот документы для findAllPrevious, а также findParents.

1 голос
/ 15 августа 2010
while someEl.name != "table":
    someEl = someEl.parent
# someEl is now the table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...