Тип тестового объекта BeautifulSoup - PullRequest
0 голосов
/ 18 декабря 2018

Добрый день,

Я использую BeautifulSoup для загрузки и анализа содержимого HTML-файла.

Мой ввод выглядит так

<tbody id="data">

    <tr>
<td>
  some text </td>
</tr>

Мой кодфрагмент выглядит следующим образом:

from bs4 import BeautifulSoup
with open('table.htm') as f:
    src_html=BeautifulSoup(f,"html.parser")
table=src_html.find(id="data")
type(table.contents[0])  # bs4.element.NavigableString
type(table.contents[1])  # bs4.element.Tag

Поскольку в моей таблице несколько ячеек, я хочу получить ячейки типа bs4.element.Tag, как мне сделать что-то вроде

for c in table.children:
    if type(c) is bs4.element.Tag then do something

Спасибоза вашу помощь

Симон

1 Ответ

0 голосов
/ 18 декабря 2018

Я нашел способ ответить на мой вопрос

from bs4.element import NavigableString, Tag
cells = [ t for t in table.contents if isinstance(t, Tag) ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...