Python爬虫常见问题----出现AttributeError: ‘NoneType‘ object has no attribute ‘xpath‘报错

当使用xpath出现AttributeError: 'NoneType' object has no attribute 'xpath'时

此时我遇到的是使用xpath操作一个html文件,运行时出现了这个错误

from lxml import etree

f = open("my4399.html", mode="r", encoding="gbk")
pageSource = f.read()
#加载数据返回element对象

et = etree.HTML(pageSource)
#xpath的语法
result = et.xpath("//ul/li/a/@href")
print(result)

此时出现了这个情况,说明出现了none类型,

print(type(et))后,返回的类型即为NoneTpye说明获取到的对象是None,而None是没有xpath属性,所以会报错。

之所以会出现这种情况,说明是etree.HTML解析失败了,这可能是由于需要解析的内容html的格式不正确或者不完整导致的,也可能是由于解析器不支持该html格式。

建议检查一下html的格式是否正确或者尝试使用其他解析器进行解析。

此处我在修改了错误的html格式后就可以成功运行了,如果html没错之后还是无法运行可以尝试使用其他html解析库,如BeautifulSoup,它可以处理一些不规范的html文本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值