4 releases

0.1.3 Aug 7, 2023
0.1.2 Aug 2, 2023
0.1.1 Aug 1, 2023
0.1.0 Jul 31, 2023

#2725 in Parser implementations

Custom license

125KB
2K SLoC

pagegraph

This crate provides utilities for analyzing PageGraph outputs.

Workspace organization

pagegraph provides a core library for interacting directly with pagegraph files and building custom extraction tools.

pagegraph-cli provides a more convenient, no-code wrapper around common operations, supplying outputs in easily-parseable formats.

Example

The following example reads from a PageGraph file and produces all deleted div elements from the corresponding webpage.

use pagegraph::from_xml::read_from_file;
use pagegraph::types::{ NodeType, EdgeType };

fn main() {
    let graph = read_from_file("/path/to/any/pagegraph.graphml");

    let deleted_divs = graph.filter_nodes(|node| {
        match node {
            NodeType::HtmlElement { is_deleted: true, tag_name, .. } if tag_name == "div" => true,
            _ => false,
        }
    });
}

Dependencies

~15MB
~330K SLoC