在获取网页方面,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在分析代码和库方面,需要耗费的时间比较多,这点小编也没有太好的办法。大家稍微勿躁,相信等待是会换来好的结果~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!