我正在使用Beautiful Soup进行网络搜索。所以,我的HTML代码有8个表。我正在尝试从这些表中提取内容。
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]
正在成为无类型。但是我不明白为什么类似的代码工作here而不是我的情况呢?
答案 0 :(得分:4)
您的实际HTML中没有<tbody>
标记。
在您的浏览器DOM中,<tbody>
标记通常是自动标记;它是插入的,因为HTML规范声明应该有一个,但这并不意味着您的实际HTML源代码中包含该标记。 BeautifulSoup不会为您添加它。
直接查看<tr>
代码:
for row in soup('table')[4]('tr'):