我正在使用beautifulsoup并在代码块之后检查这个html tr对象是否包含在其中。
if tr.find('th') is not None:
result[tr.find('th').text] = tr.find('td').text
但它始终输入if block并返回属性错误"' NoneType'对象没有属性' text'"
我做错了什么?
答案 0 :(得分:3)
您有两个不同的 tr.find()
来电,一个用于'th'
,另一个用于'td'
。后者也可以返回None
,但您没有对此进行测试,因此tr.find('td').text
可能会引发AttributeError
例外。
您需要测试两个结果。如果缺少td
单元格,可能会存储空字符串或其他默认值?
header, cell = tr.find('th'), tr.find('td')
if header is not None:
result[header.text] = cell.text if cell is not None else ''