我正在使用BeautifulSoup阅读HTML文件。我在HTML中有一个表,我需要从中读取数据,但HTML包含多个表。
为了区分表格,我需要通过计算<td>
标签来查看每行的列数。
我算这样:
for i in soup.find_all('tr'):
for x in i.findallnext('td'):
这将返回<td>
之后的所有<tr>
标记,直到文档结束。但我需要知道行开头(<td>
)与该行(<tr>
)之间</tr>
标记的数量。
<tr> <!-- Should return 2 columns, but will return 4 in script. -->
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
答案 0 :(得分:3)
将findallnext
替换为find_all
。
findallnext
会在您说完文档结束之后提供所有标记。
find_all
为您提供子元素。