rust_warc

Crates.iorust_warc
lib.rsrust_warc
version1.1.0
sourcesrc
created_at2019-05-13 12:51:56.892716
updated_at2020-02-17 20:02:51.046688
descriptionA high performance and easy to use Web Archive (WARC) file reader
homepage
repositoryhttps://github.com/orottier/rust-warc
max_upload_size
id133987
size14,921
Otto Rottier (orottier)

documentation

README

Rust-Warc

A high performance and easy to use Web Archive (WARC) file reader

use rust_warc::WarcReader;

use std::io;

fn main() {
    // we're taking input from stdin here, but any BufRead will do
    let stdin = io::stdin();
    let handle = stdin.lock();

    let warc = WarcReader::new(handle);

    let mut response_counter = 0;
    let mut response_size = 0;

    for item in warc {
        let record = item.unwrap(); // could be IO/malformed error

        // header names are case insensitive
        if record.header.get(&"WARC-Type".into()) == Some(&"response".into()) {
            response_counter += 1;
            response_size += record.content.len();
        }
    }

    println!("response records: {}", response_counter);
    println!("response size: {} MiB", response_size >> 20);
}
Commit count: 10

cargo fmt