全面了解Python爬虫之xlml解析库
下面小编就为大家带来一篇python爬虫之xlml解析库(全面了解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1.Xpath
Xpath是一门在XML中查找信息的语言,可用来在XML文档中对元素和属性进行遍历。XQuery和xpoint都是构建于xpath表达之上
2.节点
父(parent),子(children),兄弟(sibling),先辈(ancetstor),后代(Decendant)
立即学习“Python免费学习笔记(深入)”;
3.选取节点
路径表达式
表达式 | 描述 | 路径表达式 | 结果 |
nodename | 选取此节点上的所有的子节点 | bookstore | 选取bookstore元素的所有子节点 |
/ | 从根节点上选取 | /bookstore | 选取根元素bookstore,为绝对路径 |
// | 从匹配选择的当前节点选择文档中的节点,不考虑位置 | //book | 选取所有的book子元素,而不管他们在文档的位置 |
. | 选取当前节点 | bookstore//book | 选择bookstore后代中所有的book元素 |
.. | 选取当前节点的父节点 | ||
@ | 选取属性 | //@lang | 选取名为lang的所有属性 |
谓语
谓语用来查找某个特定的节点或者包含某个指定的值的节点
谓语被嵌在方括号中
路径表达式 | 结果 |
/bookstore/book[1] | 选取属于bookstore子元素的第一个book元素 |
/bookstore/book[last()] | 选取属于bookstore子元素的最后book元素 |
/bookstore/book[last()-1] | 选取属于bookstore子元素的倒数第二个book元素 |
/bookstore/book[position() | 选取最前面的两个属于bookstore元素的子元素的book元素 |
//title[@lang='eng'] | 选取所有的title元素,并且这些元素拥有值为eng的lang属性 |
/bookstore/book[price>35.0] | 选取bookstore元素的所有book元素,且其中的price值大于35.0 |
选取未知节点(通配符)
*匹配任何 元素节点
@*匹配任何属性节点
node()匹配任何类型的节点
4.lxml用法
#!/usr/bin/python#_*_coding:utf-8_*_from lxml import etreetext='''<p> </p>