ITPub博客

首页 > IT职业 > IT职场 > lxml如何在python爬虫中使用?

lxml如何在python爬虫中使用?

IT职场 作者:zlh20 时间:2021-09-11 10:09:01 0 删除 编辑

在获取网页方面,python里的库是一个大家庭。除了之前我们频繁提到的几个,还有lxml库同样非常适合使用。不过lxml库比较特殊,还涉及到Xpath语法的使用,这里我们暂且不讲。lxml的安装教程在往期有,没有的小伙伴可以去安装一下。接下来开始今天对lxml的学习吧。


首先我们利用它来解析 HTML 代码,先来一个小例子来感受一下它的基本用法。

from lxml import etree
text = '''
<div>
    <ul>
         <li><a href="link1.html">first item</a></li>
         <li><a href="link2.html">second item</a></li>
         <li><a href="link3.html">third item</a></li>
         <li><a href="link4.html">fourth item</a></li>
         <li><a href="link5.html">fifth item</a>
     </ul>
 </div>
'''
html = etree.HTML(text)
result = etree.tostring(html)
print(result)


首先我们使用 lxml 的 etree 库,然后利用 etree.HTML 初始化,然后我们将其打印出来。 其中,这里体现了 lxml 的一个非常实用的功能就是自动修正 html 代码,大家应该注意到了,最后一个 li 标签,其实我把尾标签删掉了,是不闭合的。不过,lxml 因为继承了 libxml2 的特性,具有自动修正 HTML 代码的功能。 所以输出结果是这样的

<html><body>
<div>
    <ul>
         <li><a href="link1.html">first item</a></li>
         <li><a href="link2.html">second item</a></li>
         <li><a href="link3.html">third item</a></li>
         <li><a href="link4.html">fourth item</a></li>
         <li><a href="link5.html">fifth item</a></li>
</ul>
 </div>
 
</body></html>

不仅补全了 li 标签,还添加了 body,html 标签。


以上就是python爬虫中lxml的使用。用lxml在分析代码和库方面,需要耗费的时间比较多,这点小编也没有太好的办法。大家稍微勿躁,相信等待是会换来好的结果~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1729/viewspace-2832292/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    117
  • 访问量
    1171