BeautifulSoup测试对象类型

时间:2018-12-18 14:31:52

标签: python beautifulsoup

下午好,

我正在使用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

感谢您的帮助

西蒙(Simon)

1 个答案:

答案 0 :(得分:0)

我找到了回答问题的方法

from bs4.element import NavigableString, Tag
cells = [ t for t in table.contents if isinstance(t, Tag) ]