10 个版本
新版本 0.3.2 | 2024 年 8 月 14 日 |
---|---|
0.3.1 | 2024 年 8 月 12 日 |
0.2.14 | 2024 年 8 月 10 日 |
0.2.12 | 2024 年 7 月 24 日 |
0.1.0 | 2023 年 3 月 25 日 |
在 网页编程 中排名 457
每月下载量 513
34KB
508 行
dom-content-extraction
Fei Sun、Dandan Song 和 Lejian Liao 论文的 Rust 实现
use dom_content_extraction::{DensityTree, get_node_text};
let dtree = DensityTree::from_document(&document); // &scraper::Html
let sorted_nodes = dtree.sorted_nodes();
let node_id = sorted_nodes.last().unwrap().node_id;
println!("{}", get_node_text(node_id, &document));
dtree.calculate_density_sum();
let extracted_content = dtree.extract_content(&document);
println!("{}", extracted_content;
运行示例
检查示例。
此示例将从生成的 "lorem ipsum" 页面提取内容
cargo run --example check -- lorem-ipsum
有一个评分示例,我正在尝试实现评分。您需要从
https://sigwac.org.uk/cleaneval/
下载 GoldenStandard 和 finalrun-input 数据集,并将其解压到 data/
目录。
cargo run --example ce_score
据我所知,有些文件无法打开
Error processing file 730: Failed to read file: "data/finalrun-input/730.html"
Caused by:
stream did not contain valid UTF-8
但总体上提取效果相当不错
Overall Performance:
Files processed: 370
Average Precision: 0.87
Average Recall: 0.82
Average F1 Score: 0.75
期望功能
- 实现正常评分
- 创建真实世界数据集
- 改进算法
依赖项
~3–9MB
~80K SLoC