• xpath(待补充)


    from lxml import etree
    html="""
    <div>
        <ul>
            <li>1</li>
            <li title="text1">2</li>
            <li>1</li>
            <li title="text2">2</li>
            <li>1</li>
            <li title="text3">2</li>
            <li>1</li>
            <li title="text3 text4">2</li>
        </ul>
    </div>
    """
    html=etree.HTML(html)
    html1=html.xpath('//li[text()=2]')#获取值为2的html节点
    # print(html1)
    html2=html.xpath('//li[text()=2]')[-2]#获取倒数第二个值为2的html节点
    # print(html2)
    html3=html.xpath('//li[text()=2]/@title')#遍历值为2的html节点的title属性
    # print(html3)#打印出一个列表
    for i in html3:
        print(i)
    
    #重点:针对多个属性,怎么取包含其中的一个值
    html4=html.xpath('//li[contains(@title, "text4")]')#找出title属性包含text3的html节点
    # print(html4)
    html5=html.xpath('//li[1]')#找到第一个li
    # print(html5)
    html6=html.xpath('//li[last()]')#找到最后一个li
    # print(html6)
    html7=html.xpath('//li[last()-1]')#找到倒数第二个li
    # print(html7)
    html8=html.xpath('/html/body/div/ul/li[@title="text3"]/text()')#绝对路径找li的属性title="text2"的文本
    # print(html8)
    
    
    # 如果在提取某个页面的某个标签的xpath路径的话,可以如下图:
    # //*[@id="kw"]
    # 解释:使用相对路径查找所有的标签,属性id等于kw的标签。
  • 相关阅读:
    安装jar包到本地仓库和远程仓库
    服务之间的资源权限校验
    函数指针
    malloc分配内存
    cuda_vs_报错无法解析的外部错误
    c语言读写文件
    C++使用using namespace std报错分析与解决方案
    MPI环境配置
    c语言学习
    openMP
  • 原文地址:https://www.cnblogs.com/z-x-y/p/8299443.html
Copyright © 2020-2023  润新知