博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫系列(3.2-lxml库的使用)
阅读量:6222 次
发布时间:2019-06-21

本文共 1210 字,大约阅读时间需要 4 分钟。

一、基本介绍

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

2、lxml和正则一样,也是用 C 实现的,是一款高性能的 Python HTML/XML 解析器,我们可以利用之前学习的XPath语法,来快速的定位特定元素以及节点信息。

3、安装库

pip3 install lxml

1、直接解析HTML代码,并且在解析HTML代码的时候,如果HTML代码不规范,他会自动的进行补全代码

from lxml import etree

text = '''

<div>

<ul>

<li class="item-0"><a href="link1.html">第一个item</a></li>

<li class="item-1"><a href="link2.html">第二个item</a></li>

<li class="item-inactive"><a href="link3.html">第三个item</a></li>

<li class="item-1"><a href="link4.html">第四个item</a></li>

<li class="item-0"><a href="link5.html">第五个item</a> # 注意,此处缺少一个 </li> 闭合标签

</ul>

</div>

'''

html = etree.HTML(text)

print(type(html)) # 数据类型 <class 'lxml.etree._Element'>

result = etree.tostring(html, encoding="utf8") # 使用utf8编码转换

print(result.decode("utf8"))

2、使用tostring()方法即输出修正后的HTML代码

1、直接使用etree.parse(文件路径)

from lxml import etree

html = etree.parse('./demo.html')

result = etree.tostring(html, encoding='utf8')

print(result.decode('utf8'))

1、当代码不规范的时候就需要指定解析器

from lxml import etree

parser = etree.HTMLParser(encoding='utf8')

html = etree.parse('./demo.html', parser=parser)

result = etree.tostring(html, encoding='utf8')

print(result.decode('utf8'))

转载于:https://juejin.im/post/5be3ee77e51d457c1f757703

你可能感兴趣的文章
Web工程中各类地址的写法
查看>>
openStack queens 功能验证调试
查看>>
如何在 Django 中保证并发的数据一致性
查看>>
查看library的依赖树
查看>>
MySQL一般查询日志或者慢查询日志历史数据的清理
查看>>
ubuntu的ufw如何开放特定端口?
查看>>
MySQL--MHA与GTID
查看>>
Laravel5.5 支付宝手机网站支付的教程
查看>>
TimeLine CSS/Javascript 时间线
查看>>
一篇文章了解架构师能力模型
查看>>
管理培训笔记
查看>>
SpringMVC上传图片总结(2)--- 使用百度webuploader上传组件进行上传图片
查看>>
numRecordsIn 在哪里实现?
查看>>
http keep-alive 解释
查看>>
Nginx或Apache通过反向代理配置wss服务
查看>>
用双十一的故事串起碎片的网络协议(下)
查看>>
python设计模式之猴子补丁模式
查看>>
Facade外观模式(结构性模式)
查看>>
iconfont字体图标的使用方法--超简单!
查看>>
在.net桌面程序中自定义鼠标光标
查看>>