#html-parser #token-tree #ast #syntax-tree #extract #tags #attributes

bin+lib hyperparse

用 Rust 编写的超文本标记语言 (HTML) 解析器。 (WIP)

3 个版本

0.1.2 2023 年 7 月 19 日
0.1.1 2023 年 7 月 19 日
0.1.0 2023 年 7 月 19 日

2954解析实现

MIT 许可证

6KB
64

Hyperparse (尚未构建)

Hyperparse 是一个用 Rust 实现的强大且灵活的 HTML 解析库。它允许您解析 HTML 文档,提取结构化信息,并对解析数据执行各种操作。

功能

  • HTML 解析: Hyperparse 解析 HTML 文档并构建一个表示 HTML 层次结构的标记树或抽象语法树 (AST)。

  • 标签、属性和文本提取: 解析器从 HTML 文档中提取标签、属性和文本内容,允许您访问和操作特定元素。

  • 遍历和查询: Hyperparse 提供了遍历和查询标记树或 AST 的实用工具,使您能够搜索特定元素,导航 HTML 结构,并执行有针对性的操作。

  • 灵活的 API: Hyperparse API 设计得灵活且可定制。您可以将解析器轻松集成到您的 Rust 应用程序中,并适应您特定的用例。

入门

先决条件

  • Rust (稳定版本)

安装

在您的 Cargo.toml 文件中将 Hyperparse 添加为依赖项

[dependencies]
hyperparse = "0.1.0"

使用

以下是一个使用 Hyperparse 解析 HTML 文档并提取标题的简单示例

use hyperparse::parser::parse;
use hyperparse::query::Query;

fn main() {
    let html = r#"
        <html>
            <head>
                <title>My Website</title>
            </head>
            <body>
                <h1>Welcome!</h1>
                <p>This is the content of my website.</p>
            </body>
        </html>
    "#;

    let document = parse(html);
    let title = document.query().tag("title").text().first().unwrap();

    println!("Title: {}", title);
}

有关如何使用 Hyperparse 及其各种功能的更多详细信息,请参阅https://github.com/tidefeed/hyperparse (Hyperparse GitHub 仓库) 中的文档和示例。

贡献

欢迎对 Hyperparse 的贡献!如果您发现任何错误,有功能请求,或想贡献改进或新功能,请在https://github.com/tidefeed/hyperparse (Hyperparse GitHub 仓库) 中提交问题或拉取请求。

提交贡献时,请务必遵循贡献指南。

许可证

Hyperparse 根据 MIT 许可证授权。有关更多详细信息,请参阅 LICENSE 文件。

致谢

我们感谢贡献者和开源社区宝贵的贡献和支持。

联系方式