Nipper
A Rust crate for manipulating HTML with CSS selectors
Install / Use
/learn @importcjj/NipperREADME
Nipper
<div> <!-- Crates version --> <a href="https://crates.io/crates/nipper"> <img src="https://img.shields.io/crates/v/nipper.svg?style=flat-square" alt="Crates.io version" /> </a> <!-- Downloads --> <a href="https://crates.io/crates/nipper"> <img src="https://img.shields.io/crates/d/nipper.svg?style=flat-square" alt="Download" /> </a> <!-- docs.rs docs --> <a href="https://docs.rs/nipper"> <img src="https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square" alt="docs.rs docs" /> </a> <a href="https://travis-ci.com/github/importcjj/nipper"> <img src="https://travis-ci.com/importcjj/nipper.svg?branch=master" alt="travis ci" /> </a> </div>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.

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.
Related projects
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
