八. Xpath语法

1. xpath节点选择

路径表达式 含义 举例 结果
nodename 选取此节点的所有子节点 div 选取div的所有子节点。
/ 从根节点开始选取,绝对路径。 /div 从根节点开始选取div。
// 选取节点,而不考虑他们的位置,相对路径。 //div 选取div。
. 选取当前节点 暂无 暂无。
.. 选取当前节点的父节点 暂无 暂无。
@ 选取属性 @class 选取名为class的所有属性。
* 匹配所有元素节点 暂无 暂无。
实战例子 结果
/div/a[1] 选取div子元素的第一个a元素
//li[@id] 选取所有含id属性的li元素
//li[@class="info"] 选取所有含class=“info”的li元素
div//h2 选取属于div元素的后代的所有h2元素
h2/text() 选取所有h2元素里面的文本信息
string(.) 选取某元素中含嵌套的所有文本内容,例如:html.xpath('//div')[0].xpath('string(.)')。另外,返回结果的格式不再是list,而是'lxml.etree._ElementUnicodeResult',可直接使用str类的操作,例如:sel.xpath('string(.)').strip()。
string(arg) 选取指定arg中含嵌套的所有文本内容,例如:html.xpath('string(//div)')。返回结果的格式同上。
//div[starts-with(@class,"article")] 选取class属性以article开头的所有div元素
position() 选取对应位置的元素。例如:html.xpath('//div[position()<=2]')
last() 选择对应位置的最后一个元素。例如:html.xpath('//div[last()]')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容