9个版本
| 0.2.6 | 2023年2月3日 | 
|---|---|
| 0.2.5 | 2023年2月3日 | 
| 0.1.0 | 2023年2月1日 | 
| 0.1.0-alpha | 2022年7月3日 | 
#1167 in 解析器实现
每月 35 次下载
700KB
365 代码行
🔌KPLC-OUTAGE-PARSER🔌
目的
将来自链接的KPLC停电报告从pdf转换为可消费的json输出。
主要策略
我们使用来自poppler-utils的pdftotxt,它几乎可以在每个Linux发行版上找到,我们使用-layout标志使其保持布局,并输出一个类似于pdf的txt文件,即使在布局方面也很相似,这使得解析更容易。然后我们接下来解析txt文件。
以下是一个图像,显示了每个区域最终项的结构。整体结构是一系列区域。

用法
async{
	let link = "https://www.kplc.co.ke/img/full/Interruptions%20-%2026.01.2023.pdf";
    println!("Parsing data from {link}");
    let mut client = KPLCClient::new();
    let kplcdata_obj = client.parse_from_web(link).await.unwrap();
    println!("Data: {:?}",kplcdata_obj);    
}    
link是一个传递给客户端parse_from_web的&str,该客户端异步运行,下载pdf,使用pdftotxt将其转换为txt格式,然后它随后生成一个具有上述图像中结构的KPLCData结构。
贡献
欢迎贡献,因为这个是开源项目。可以是任何事情,从拼写错误到代码性能改进,问题也是受欢迎的。
测试
运行cargo test,在发送PR之前,所有测试都应该通过。此外,为了额外的测试,尝试查看示例是否全部运行
完成。
依赖关系
~8–22MB
~339K SLoC