#table #html #html-parser #parse #content

table-extract

用于从 HTML 表格中提取数据的实用工具

5 个版本

0.2.3 2023 年 4 月 22 日
0.2.2 2019 年 11 月 3 日
0.2.1 2017 年 7 月 9 日
0.2.0 2017 年 7 月 8 日
0.1.0 2017 年 7 月 7 日

#2718解析实现

Download history 96/week @ 2024-03-24 134/week @ 2024-03-31 78/week @ 2024-04-07 69/week @ 2024-04-14 93/week @ 2024-04-21 84/week @ 2024-04-28 67/week @ 2024-05-05 97/week @ 2024-05-12 66/week @ 2024-05-19 97/week @ 2024-05-26 128/week @ 2024-06-02 111/week @ 2024-06-09 71/week @ 2024-06-16 130/week @ 2024-06-23 32/week @ 2024-06-30 132/week @ 2024-07-07

371 每月下载量
用于 uupdump

MIT 许可证

23KB
441

TableExtract

TableExtract 是一个用于从 HTML 表格中提取数据的 Rust 库。它受到 Perl 的 HTML::TableExtract 的启发。

查看crate 文档以获取更多信息。

用法

TableExtract 在 crates.io 上。要使用它,只需将以下内容添加到您的 Cargo.toml

[dependencies]
table-extract = "0.2"

贡献

欢迎贡献!有两点需要注意

  1. 此项目使用来自 rustup 的稳定 Rust 工具链。
  2. 此项目使用 cargo fmt 以保持代码整洁。

许可证

© 2019 Mitchell Kember

TableExtract 在 MIT 许可证下提供;有关详细信息,请参阅LICENSE


lib.rs:

从 HTML 表格中提取数据的实用工具。

此库允许您从 HTML 文档中解析表格并遍历其行。有三个入口点

这些操作都返回一个 Option<Table>,因为在 HTML 中可能没有匹配的表格。一旦您有一个表格,您就可以遍历它并访问每个 Row 的内容。

示例

以下是一个简单的示例,它使用 Table::find_first 打印表格每行的单元格

let html = r#"
    <table>
        <tr><th>Name</th><th>Age</th></tr>
        <tr><td>John</td><td>20</td></tr>
    </table>
"#;
let table = table_extract::Table::find_first(html).unwrap();
for row in &table {
    println!(
        "{} is {} years old",
        row.get("Name").unwrap_or("<name missing>"),
        row.get("Age").unwrap_or("<age missing>")
    )
}

如果文档包含多个表格,我们可以使用 Table::find_by_headers 方法来识别我们想要的那个表格

let html = r#"
    <table></table>
    <table>
        <tr><th>Name</th><th>Age</th></tr>
        <tr><td>John</td><td>20</td></tr>
    </table>
"#;
let table = table_extract::Table::find_by_headers(html, &["Age"]).unwrap();
for row in &table {
    for cell in row {
        println!("Table cell: {}", cell);
    }
}

依赖项

~4–9.5MB
~94K SLoC