第 33 篇:lxml 高性能解析——C 语言级别的 HTML/XML 解析引擎

第 33 篇:lxml 高性能解析——C 语言级别的 HTML/XML 解析引擎
前面我们学了 BeautifulSoup 和 pyquery,它们都是用 Python 写的包装器,底层或多或少都依赖lxml。本篇我们直接深入底层——学习lxml这个用 C 语言实现的高性能解析库。lxml 是 Python 生态中最快、最强大的 HTML/XML 解析库,没有之一。Scrapy、pyquery、BeautifulSoup 都在用它。学完本篇,你将能够:用lxml.etree解析 HTML/XML;用XPath精准定位任何节点;处理命名空间、DTD、Schema等高级 XML 特性;用lxml.html快速处理 HTML 页面;写出性能极致的解析代码。一、lxml 是什么lxml 是 Python 对 C 库libxml2和libxslt的封装。它:速度极快:纯 C 实现,比纯 Python 解析器快 5-100 倍;功能极强:XPath 1.0 + 部分 2.0、XSLT、XML Schema、DTD 验证;