【Python爬虫】数据解析:xpath

xpath属于xml/html解析数据的一种方法,基于元素(Element)的树形结构(Node>Element).选择某一元素时,根据原始的路径选择,如/html/head/title获取<title>标签。安装包pip install lxml

绝对路径

从根标签开始,按tree结构依次向下查询。

如/html/body/table/tbody/tr。

相对路径

相对路径可以有以下写法

  • 路径写法

    • /依次查找
    • //间接查找
    • ./从当前元素下查找
    • .//从当前元素的间接子节点查找
  • 相对于整个文档

    //img
    

    查找处文档中所有的<img>标签元素

  • 相对于当前节点

    //table
    

    假如当前节点是<table>,查找它的<img>的路径的写法

    .//img
    

数据提取

  • 提取文本

    //title/text()
    
  • 提取属性

    //img/@href
    

位置条件

获取网页中的数据类型与字符集,获取第一个<meta>标签

//meta[1]//@content

获取最后一个<meta>标签

//meta[last()]//@content

获取倒数第二个<meta>标签

//meta[position()-2]//@content

获取前2个<meta>标签

//meta[position()< 3]//@content

属性条件

查找class为circle-img<img>

//img[@class='circle-img']

查找class为xx1以及name为xx2<li>(多个属性的且的关系)

//li[@class="xx1" and @name="xx2"]

查找所有标签的class属性

//@class

同时获取title和price两个标签

//title | //price

模糊条件

  • //div[contains(@class,"page")] 查找class属性包含page的所有div标签
  • //div[start-with(@class,"box")] 第一个class的属性值为box的div标签
  • //div[end-with(@class,"clearfix")] 最后一个class的属性值为clearfix的div标签
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值