当前位置:   article > 正文

lxml模块_form lxml

form lxml

1、lxml介绍

lxml是一个HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML数据。

2、lxml解析HTML代码:

可以用来解析HTML代码,并且在解析HTML代码的时候,如果代码不规范,会自动进行补全。

  1. #导入包
  2. form lxml import etree
  3. text='''<div>
  4. <ul>
  5. <li class="item-0"><a href="link1.html">first item</a></li>
  6. <li class="item-1"><a href="link2.html">second item</a></li>
  7. <li class="item-inactive"><a href="link3.html">third item</a></li>
  8. <li class="item-1"><a href="link4.html">fourth item</a></li>
  9. <li class="item-0"><a href="link5.html">fifth item</a> # 注意,此处缺少一个 </li> 闭合标签
  10. </ul>
  11. </div>
  12. '''
  13. #利用etree.HTML将字符串解析为HTML文档
  14. html=etree.HTML(text)
  15. result=etree.tostring(html)#将字符串序列化为HTML文档

3、html文件读取

  1. #从文件中读取html代码:利用etree.parse()方法
  2. from lxml import etree
  3. html=etree.parse('xx.html')#读取外部文件xx.html
  4. result=etree.tostring(html,pretty_print=True)
  5. print(result)

4、在lxml中使用xpath语法:

    4.1获取所有li标签

  1. from lxml import etree
  2. text='''<div>
  3. <ul>
  4. <li class="item-0"><a href="link1.html">first item</a></li>
  5. <li class="item-1"><a href="link2.html">second item</a></li>
  6. <li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li>
  7. <li class="item-1"><a href="link4.html">fourth item</a></li>
  8. <li class="item-0"><a href="link5.html">fifth item</a></li>
  9. </ul>
  10. </div>
  11. '''
  12. html=etree.HTML(text)
  13. lis=html.xpath("//li")
  14. print(lis)

    4.2获取所有li元素下的所有class属性的值

result=html.xpath("//li/@class")

    4.3获取li标签下href为www.baidu.com的a标签:

result=html.xpath("//li/a[@href='www.baidu.com']")

    4.4获取li标签下所有span标签:

result=html.xpath("//li/span")

    4.5获取li标签下的a标签里的所有class:

result=html.xpath("//li/a//@class")

    4.6获取最后一个li 的a的href属性对应的值:

result=html.xpath("//li[last()]/a/@href")

    4.7获取倒数第二个li元素的内容

  1. 第一种方法:result=html.xpath("//li[last()-1]/a")
  2. 第二种方法:result=html.xpath("//li[last()-1]/a/text()")

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/591615
推荐阅读
相关标签
  

闽ICP备14008679号