python--爬虫(XPath与xml类库)
Posted peilanluo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--爬虫(XPath与xml类库)相关的知识,希望对你有一定的参考价值。
获取页面内容除使用正则意外,还可以使用XPath,其原理是将html代码转换为xml格式,然后使用XPath查找html节点或元素。
选取节点
XPath使用路径表达式来选取XML文档中的节点或节点集。
常用的路径表达式见下表:
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点 |
/ | 从根节点选取 |
// | 从匹配选择的当前节点选择文档中的节点,不考虑其是否为子级 |
. | 选取当前节点 |
.. | 选取当前节点的父节点 |
@ | 选取属性 |
谓语
谓语用来查找某个特定的节点或者包含某个指定的值得节点,被嵌在方括号中。
路径表达式 | 释义 |
---|---|
/one/two[1] | 选取属于one子元素的第一个two元素 |
/one/two[last()] | 选取属于one子元素的最后一个two元素 |
/one/two[last()-1] | 选取属于one子元素的倒数第二个two元素 |
/one/two[position()<3] | 选取最前面的两个属于one元素的子元素two元素 |
//one[@lang] | 选取所有拥有名为lang的属性的one元素 |
//one[@lang=‘test‘] | 选取所有拥有值为test的lang属性的one元素 |
/one/two[position>10] | 选取one元素的所有two元素,且其中position属性的值大于10 |
以上是关于python--爬虫(XPath与xml类库)的主要内容,如果未能解决你的问题,请参考以下文章