Python使用Etree与Xpath提取链接文本失败求助
解决标签文本提取问题
- 问题根源:你当前的XPath选中的是外层
div元素,而目标文本在div下的a子标签里,且依赖固定层级的索引定位容易受页面结构变化影响。 - 正确的XPath写法:
使用class属性定位更稳定,直接提取目标文本的XPath为://div[@class="tag"]/a/text() - 代码修改后示例:
site_content = etree.HTML(result) xpath_select = '//div[@class="tag"]/a/text()' selection = site_content.xpath(xpath_select) content = [item.strip() for item in selection] - 说明:这个XPath会匹配所有带有
class="tag"的div下的a标签文本,自动适配页面中多个同类标签的场景,同时避免了固定层级索引的脆弱性。
内容的提问来源于stack exchange,提问作者Py47
相关产品推荐
相关产品推荐

