美文网首页
爬虫解析库-xpath

爬虫解析库-xpath

作者: 希望我是摩羯座 | 来源:发表于2019-01-13 17:39 被阅读0次

导入模块:from lxml import etree

构造对象,初始化: html = etree.HTML(html1),或直接读取html=etree.HTML(''./html1.html     etree.HTMLparser())

修正html代码 result = etree.tostring(html)  此时结果是bytes类型,用decode()方法转化str类型

result = etree.parse('')

匹配规则: 

nodename 选取此节点的所有子节点  /从当前节点选取直接子节点  // 从当前节点选取子孙节点

.选取当前节点 ..选取当前节点的父节点 @选取属性

例如:ul--li--a

一般用//开头的xpath规则取,//*表示所有节点,//li获取所有li节点(结果是;列表形式),

//li/a 获取li的所有直接a节点 //ul//a 获取ul的所有子孙节点.  不能用/来查找子孙节点

 // a[@href =” link4.html ”] /.. /@ class :获取属性为x的节点a的父节点,在获取其属性y

    获取父节点也可以,/parent::*

获取文本text()方法,获取li内部文本,先获取a节点//li/a/text()或者获取所有子孙节点的文本//li//text() 

属性匹配:进行过滤[@href='link4.tml']  ,最终获得的是节点

属性获取:获取节点的某个属性 //li/a/@href         ,最终获得的是属性

属性多值匹配:节点的某个属性有多个值 //li[contains(@class,'li')]  。

多属性匹配:节点有多个属性,用and连接,

按序选择:只想要匹配结果的某部分,用中括号传入索引方法,序号以1开头,last()结束,位置小于3 用[position()<3] ,倒数第三个用last()-2

相关文章

网友评论

      本文标题:爬虫解析库-xpath

      本文链接:https://www.haomeiwen.com/subject/qahldqtx.html