'NoneType' object has no attribute 'strip'?

'NoneType' object has no attribute 'strip'?

html是这样的:

<td class="cell_43 cell_guaranteed">

'5 - 7'

::after

</td>

<td class="cell_44">

::after

</td>

<td class="cell_45">

::after

</td>

运行以下程序:

info_list = []

table = tree.xpath('//table[@class="market_table_content"]')[0]

for tr in table.xpath('.//tr[not(@class)]'):

info = {

'选择': tr.xpath('.//td[@class="cell_43 cell_guaranteed"]')[0].text.strip(' \r\n\t '),

'数字': tr.xpath('.//td[@class="cell_44"]')[0].text.strip(' \r\n '),

'产量': tr.xpath('.//td[@class="cell_45"]')[0].text.strip(' \r\n\t '),

'订单量': eval(tr.xpath('.//div[@class="btn_order"]/button')[0].get('onclick').strip('MarketOrder'))

}

info_list.append(info)

运行时,由于html中cell_44、cell_45中是空值,程序返回以下错误:

AttributeError: 'NoneType' object has no attribute 'strip'

请各位大佬帮助以上问题该如何解决?请回复详细代码,谢谢。


回答:

先对获取到的内容进行判断,如果为Nonetype是无法使用strip进行切分的

info_list = []

table = tree.xpath('//table[@class="market_table_content"]')[0]

for tr in table.xpath('.//tr[not(@class)]'):

# 处理数量

number_text = tr.xpath('.//td[@class="cell_44"]')[0].text

number = number_text.strip(' rn ') if number_text else []

# 处理产量, 选择,订单量同样的逻辑进行处理

以上是 &#x27;NoneType&#x27; object has no attribute &#x27;strip&#x27;? 的全部内容, 来源链接: utcz.com/a/161271.html

回到顶部