PyQuery 是一个强大的 Python 库,它允许你使用 jQuery 风格的语法来解析和操作 HTML/XML 文档。这使得从网页中提取数据变得非常容易。PyQuery 基于 lxml,因此它非常快速和灵活。
主要特性
-
类似 jQuery 的语法:
PyQuery使用与 jQuery 非常相似的语法,这对于熟悉 jQuery 的开发者来说非常方便。
-
解析 HTML/XML:
- 可以用
PyQuery来解析 HTML 或 XML 字符串,或者直接从 URL 或文件加载。
- 可以用
-
DOM 操作:
- 支持对文档对象模型(DOM)的各种操作,比如查找、修改、添加和删除元素。
-
CSS 选择器:
- 支持 CSS 选择器来查找元素,使得从复杂的 HTML 文档中提取数据变得简单。
示例
安装 PyQuery:
pip install pyquery
下面是一个使用 PyQuery 的简单例子:
from pyquery import PyQuery as pq
# 使用 HTML 字符串初始化
doc = pq("""
<html>
<head><title>My Page</title></head>
<body>
<h1>Hello World</h1>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>
</html>
""")
# CSS 选择器查找元素
h1 = doc('h1').text()
print(h1) # 输出: Hello World
# 遍历元素
for li in doc('ul li').items():
print(li.text())
# 添加新元素
doc('ul').append('<li>Item 4</li>')
# 输出修改后的 HTML
print(doc.html())
在这个例子中,我们首先用一个 HTML 字符串初始化了一个 PyQuery 对象。然后,我们使用 CSS 选择器来查找和操作 DOM 元素。这个库的用法非常直观,特别是对于那些熟悉 jQuery 的人来说。
PyQuery 适合于网页数据抓取、网页内容解析、自动化测试等场景,特别是当你需要快速提取和处理 HTML/XML 数据时。由于它的依赖 lxml 是基于 C 语言编写,所以在处理大型文档时表现出色。