read_raw/
read_raw.rs

1use warc::WarcHeader;
2use warc::WarcReader;
3
4fn main() -> Result<(), std::io::Error> {
5    let file = WarcReader::from_path("warc_example.warc")?;
6
7    let mut count = 0;
8    for record in file.iter_raw_records() {
9        count += 1;
10        match record {
11            Err(err) => println!("ERROR: {}\r\n", err),
12            Ok((headers, _)) => {
13                println!(
14                    "{}: {}",
15                    WarcHeader::RecordID,
16                    String::from_utf8_lossy(headers.as_ref().get(&WarcHeader::RecordID).unwrap())
17                );
18                println!(
19                    "{}: {}",
20                    WarcHeader::Date,
21                    String::from_utf8_lossy(headers.as_ref().get(&WarcHeader::Date).unwrap())
22                );
23                println!();
24            }
25        }
26    }
27
28    println!("Total records: {}", count);
29
30    Ok(())
31}