gpt4 book ai didi

python - 如何检查lxml xpath中是否存在元素?

转载 作者:行者123 更新时间:2023-12-01 03:27:40 24 4
gpt4 key购买 nike

我使用 lxml xpath 在 Python 3 中解析 HTML 页面。

作为示例,我有代码,用于查找 HTML 元素:

version_android  = doc.xpath("//div[@itemprop='operatingSystems']//text()")

爸爸我插入了Mysql查询:

insert = ("insert into tracks (version) values ('%s')" % (version_android[0]))

问题是,if 不是 HTML DOM 中的元素,因此当我尝试在 version[0] 行中获取解析结果并放入查询中时,我会收到 Mysql 错误。

有时结果数组没有索引version_android[0],但有索引version_android[2]:这会在Mysql的插入函数中出错。

如何验证其正确性?我有很多相同的解析规则。

我尝试过这个,但我不喜欢这个解决方案:

version_android = doc.xpath("//div[@itemprop='operatingSystems']//text()")
if len(version_android):
version_android = version_android[0]
else:
version_android = ""

最佳答案

我认为更好的方法(在我看来)是使用 except。

#valid_xpath = '__VIEWSTATEGENERATOR'
invalid_xpath = 'XXXXXXXX'

try:
vgenerator = root.xpath('//*[@id="'+ invalid_xpath +'"]//@value')[0]
except IndexError:
vgenerator = None

print vgenerator

关于python - 如何检查lxml xpath中是否存在元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41267705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com