xpath

笔记

xpath解析原理:
    - 数据解析原理:
        -1.实例化一个etree对象,且将页面源码数据加载到该对象中
        -2.调用etree对象中xpath方法,编写xpath表达式,提取数据
    - 环境安装:
        - pip install lxml
    - 实例化一个etree对象: from lxml import etree
        - 1.将本地中的html文档中的源码加载到etree对象中
            etree.parse(filePath)
        -2 .将互联网上获取的页面加载到etree对象中
            etree.HTML('page_text')   
        - xpath('xpath表达式')
    -xpath表达式:
        /:表示从根节点开始定位。表示的是一个层级
        //:表示的是从任意位置开始定位。表示的是多个层级
        - 属性定位:r = tree.xpath('//div[@class="red"]') #属性定位
        - 索引定位:r = tree.xpath('//div[@class="red"]/p[3]') #div class=red标签下的第三个p标签
        - 提取文本:r = tree.xpath('//div[@class="red"]/p[3]/text()')
            - /text():获取的是标签中直系文本内容
            - //text():获取的是标签中所有文本内容
        - 属性提取:r = tree.xpath('//div[@class="red"]/img/@src')
            - /@attrName   ==>img/src

代码

from lxml import etree
if __name__ == '__main__':
    # 实例化好了一个etree对象
    tree = etree.tree('test.html')
    # r = tree.xpath('/html/head/title') # xpath为 /html/head/title根目录下html下head下的title标签
    # r = tree.xpath('//div[@class="red"]') #属性定位
    r = tree.xpath('//div[@class="red"]/p[3]') #div class=red标签下的第三个p标签
    print(r)
posted @ 2024-02-26 17:16  会秃头的小白  阅读(7)  评论(0编辑  收藏  举报