使用BeautifulSoup阅读表

时间:2015-04-15 19:10:35

标签: python python-2.7 beautifulsoup python-2.x

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

1 个答案:

答案 0 :(得分:3)

findallnext替换为find_all

findallnext会在您说完文档结束之后提供所有标记。

find_all为您提供子元素。