10 releases

0.1.9 Mar 12, 2021
0.1.8 Jun 1, 2020
0.1.7 Apr 18, 2020

#15 in #selector

Download history 2218/week @ 2024-01-05 2575/week @ 2024-01-12 2371/week @ 2024-01-19 3209/week @ 2024-01-26 2659/week @ 2024-02-02 2808/week @ 2024-02-09 2335/week @ 2024-02-16 2419/week @ 2024-02-23 2350/week @ 2024-03-01 2748/week @ 2024-03-08 2199/week @ 2024-03-15 2320/week @ 2024-03-22 2401/week @ 2024-03-29 2171/week @ 2024-04-05 2335/week @ 2024-04-12 1821/week @ 2024-04-19

9,101 downloads per month
Used in 16 crates (13 directly)

MIT/Apache

225KB
2K SLoC

Nipper

A crate for manipulating HTML with Rust.

Nipper based on HTML crate html5ever and the CSS selector crate selectors. You can use the jQuery-like syntax to query and manipulate an HTML document quickly. Not only can query, but also can modify.

nipper-logo

Example

Extract the hacker news.

use nipper::Document;

fn main() {
    let html = include_str!("../test-pages/hacker_news.html");
    let document = Document::from(html);

    document.select("tr.athing").iter().for_each(|athing| {
        let title = athing.select(".title a");
        let href = athing.select(".storylink");
        println!("{}", title.text());
        println!("{}", href.attr("href").unwrap());
        println!();
    });
}

Readability.

examples/readability.rs

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~2.8–8.5MB
~74K SLoC