• xpath轴


    child::book    选取所有属于当前节点的子元素的 book 节点。
    attribute::lang    选取当前节点的 lang 属性。
    child::*    选取当前节点的所有子元素。
    attribute::*    选取当前节点的所有属性。
    child::text()    选取当前节点的所有文本子节点。
    child::node()    选取当前节点的所有子节点。
    descendant::book    选取当前节点的所有 book 后代。
    ancestor::book    选择当前节点的所有 book 先辈。
    ancestor-or-self::book    选取当前节点的所有 book 先辈以及当前节点(如果此节点是 book 节点)
    child::*/child::price    选取当前节点的所有 price 孙节点。
    from lxml import etree
    
    html = '''
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <!--网页头部信息-->
        <title>网页名</title>
    </head>
    <body>
        <!--下面是网页正文-->
        <div class="two" name='test' style="color:red">id-text</div>
        <div class="one two">class-text</div>
        <div class="one">class-span</div>
        <div class="three">three</div>
    </body>
    </html>
    '''
    
    html =etree.HTML(html)
    
    content1 = html.xpath("//div/ancestor::*") #选取div的所有父和祖父节点
    content1 = html.xpath("//div[@class='two']/attribute::*") #选取节点的所有属性
    content1 = html.xpath("//div[@class='two']/attribute::style") #选取节点的style属性
    content1 = html.xpath(".//body/child::div") #选取所有子节点
    
    print(content1)
    

      

  • 相关阅读:
    现代算法(一) 基因算法
    01-02周 学习总结
    Linux命令之touch详解
    Linux命令之umask详解
    Linux命令之wc详解
    Linux命令之stat详解
    Linux命令之tail详解
    Linux命令之head详解
    Linux命令之less详解
    Linux命令
  • 原文地址:https://www.cnblogs.com/brady-wang/p/12462026.html
Copyright © 2020-2023  润新知