0

我正在使用 Beautiful Soup 进行网页抓取。所以,我有 8 个表格的 HTML 代码。我正在尝试从这些表中提取内容。

for row in soup('table')[4].tbody('tr'):
  tds = row('td')
  print tds[0].string, tds[1].string

它给出了错误:

    for row in soup('table')[4].tbody('tr'):
TypeError: 'NoneType' object is not callable

我知道这可能soup('table')[4]正在成为无类型。但我不明白为什么类似的代码在这里工作,但在我的情况下却不行?

4

1 回答 1

4

您的实际 HTML中没有<tbody>标签。

在您的浏览器 DOM 中,<tbody>标签通常是自动标签;它被插入是因为 HTML 规范声明应该有一个,但这并不意味着您的实际 HTML 源代码中包含该标签。BeautifulSoup 不会为您添加它。

直接上<tr>标签:

for row in soup('table')[4]('tr'):
于 2013-05-28T07:54:00.573 回答