我正在使用 Python 中的 BeautifulSoup 来抓取网页。问题下的 html 如下所示:
<td><a href="blah.html>blahblah</a></td>
<td>line2</td>
<td></td>
我希望获取 td 标签的内容。所以对于第一个 td,我需要“blahblah”文本,对于下一个 td,我想写“line2”,最后一个 td,“空白”,因为没有内容。
我的代码片段看起来像这样 -
row = []
for each_td in td:
link = each_td.find_all('a')
if link:
row.append(link[0].contents[0])
row.append(link[0]['href'])
elif each_td.contents[0] is None:
row.append('blank')
else:
row.append(each_td.contents[0])
print row
但是在运行时,我收到错误 -
elif each_td.contents[0] is None:
IndexError: list index out of range
注意-我正在使用 beautifulsoup。
如何测试“no-content-td”并适当地加注?为什么“... is None”不起作用?