python_xpath解析

xpath解析

  • 安装

    • pip install lxml

  • 使用

    from lxml import etree    #  导入
    
    #  将本地HTML文档的源码数据加载到etree对象中
    etree.parse("路径")
    #  可以从互联网获取的元码数据加载到该对象中
    etree.HTML(res.text)
    #  获取指定的元素
    etree.xpath('xpath表达式')
    
    
    #  例
    
    #  实例化etree对象
    tree = etree.parse("test.html")
    
    #  获去根节点下HTML->body->所有div
    r = tree.xpath("/html/body/div")
    #  获取页面所有的li中的第7个->其内所有的文本
    r = tree.xpath("//li[7]//text()")
    #  获取页面所有的div且类名为name的标签->中img标签属性名为src的属性值
    r = tree.xpath("//div[@class='name']/img/@src")
    
  • “/” : 表示一个层级

  • “//” : 表示多个层级.可以表示从任意位置开始定位

  • 属性定位 : //div[@class=“name”] 表示选中页面的所有div且类名为name的标签

  • 索引定位: //div[@class=“name”]/p[3] 索引从1开始

  • 取文本 :

    • /text() 获取的是标签中直系的文本内容
    • //text() 标签中非直系文本的内容 (所有文本内容)
  • 使用xpath解析已用xpath获取过的对象需XXX.xpath("./表达式")

  • 取属性 :

    • /@attrName 例: img/@src 取得img标签的src属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值