Как я могу перейти к концу тега, используя BeautifulSoup в Python? - PullRequest
1 голос
/ 04 декабря 2011

У меня есть HTML следующим образом:

html = '<html><table>this is a table<p>some text</p></table><p>text outside of table</p></html>'

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

soup = BeautifulSoup(''.join(text))
table = soup.find('table')
test = table.findNext()

Этот код дает мне:

<p>some text</p>

Однако я хочу, чтобы это дало мне:

<p>text outside of table</p>

Основная проблема заключается в том, что я не всегда могу указать, что тег является тегом 'p'. Я мог бы иметь HTML, как это:

html = '<html><table>this is a table<td>some text</td></table><table>text outside of table</table></html>'

Итак, я не могу полагаться на идентификаторы тегов, чтобы перейти к следующему. В приведенном выше коде я хочу вернуть:

<table>text outside of table</table>

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

1 Ответ

4 голосов
/ 04 декабря 2011

будет

test = table.nextSibling

работаешь на тебя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...