器→工具, 开源项目

Python HTML解析工具PyQuery

钱魏Way · · 45 次浏览

PyQuery 是一个用于解析和操作 HTML 文档的 Python 库,灵感来自于 jQuery,提供了一种简洁且强大的方式来处理 HTML 文档。它允许开发者使用类似于 jQuery 的 CSS 选择器来查找和操作 HTML 元素,这使得处理网页数据变得直观和高效。

PyQuery 的语法简单且功能强大,特别适合那些熟悉 jQuery 的开发者。它提供了一种直观的方式来操作和查询 HTML,使得处理网页数据的任务更加轻松。

应用场景

  • Web 爬虫:PyQuery 非常适合用来解析和提取网页中的数据。
  • 数据清理:可以用来清理和格式化 HTML 数据。
  • Web 测试:在自动化测试中用于检查 HTML 内容。

基本用法

PyQuery 的基本用法包括加载 HTML 文档、选择元素以及操作 DOM。以下是一些常见的用法示例:

加载 HTML

你可以从字符串、文件或 URL 中加载 HTML 文档。

from pyquery import PyQuery as pq

# 从字符串加载
html = '<html><head><title>Page Title</title></head><body><p id="intro">Hello, World!</p></body></html>'
doc = pq(html)

# 从文件加载
doc = pq(filename='path/to/file.html')

# 从 URL 加载
doc = pq(url='http://example.com')

选择元素

使用 CSS 选择器来选择元素。

# 选择标题
title = doc('title').text()
print(title)

# 选择带有 id 为 intro 的段落
intro = doc('#intro').text()
print(intro)

操作 DOM

你可以对选定的元素进行各种操作,例如更改文本、属性等。

# 更改文本
doc('#intro').text('New Text')

# 添加类
doc('#intro').addClass('new-class')

# 更改属性
doc('#intro').attr('style', 'color: red;')

# 获取 HTML
html_content = doc.html()
print(html_content)

高级功能

遍历元素

你可以遍历选定的元素集。

for element in doc('p'):
    print(pq(element).text())

查找子元素

使用 .find() 方法查找子元素。

# 查找所有子元素
children = doc('body').find('*')

过滤元素

使用 .filter() 方法来过滤元素。

# 过滤出具有特定类的段落
filtered = doc('p').filter('.intro')

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注