提示:文末有福利!最新Python爬虫资料/学习指南>>戳我直达
前言
简述
lxml 是一种使用 Python 编写的库,可以迅速、灵活地处理 XML ,支持 XPath (XML Path Language)
话不多说,开始学习
lxml库
学习目的
利用系列(5)中涉及到的XPath语法,来快速的定位特定元素以及节点信息,目的是:提取出 HTML、XML 目标数据
如何安装
- Ubuntu
sudo apt-get install libxml2-dev libxslt1-dev python-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libevent-dev
sudo pip install lxml
利用 pip 安装即可
- Windows:
在Windows环境下的安装lxml方法(只要是.whl文件都用此方法)
方法一:在cmd中输入
pip install lxml
如果成功就不用看方法二
方法二:1、先在cmd中 输入
pip install wheel
因为要安装wheel库才可以安装.whl文件(因为lxml文件是.whl文件)
2、在cmd中输入pip debug --verbose
3、打开链接> http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
下载对应版本Lxml 我下载的是lxml‑4.8.0‑cp39‑cp39‑win_amd64.whl
然后在你下载此文件的目录下,
打开powershell 输入pip install lxml-4.8.0-cp39-cp39-win_amd64.whl
在IDLE模式下输入import lxml
没有报错就成功了
初步使用
首先我们利用lxml来解析 HTML 代码,先来一个小例子来感受一下它的基本用法。
使用 lxml 的 etree 库,然后利用 etree.HTML 初始化,然后我们将其打印出来。
from lxml import etree
text = '''
<div>
<ul>
<li class="item-0"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</ul>
</div>
'''
#Parses an HTML document from a string
html = etree.HTML(text)
#Serialize an element to an encoded string representation of its XML tree
result = etree.tostring(html)
print result
所以输出结果是这样的