Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/importcjj/nipper
A Rust crate for manipulating HTML with CSS selectors
https://github.com/importcjj/nipper
css-selectors html html5ever nipper scraper selectors spider
Last synced: 5 days ago
JSON representation
A Rust crate for manipulating HTML with CSS selectors
- Host: GitHub
- URL: https://github.com/importcjj/nipper
- Owner: importcjj
- License: apache-2.0
- Created: 2020-03-31T17:05:20.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-20T08:05:29.000Z (10 months ago)
- Last Synced: 2024-12-21T12:14:43.995Z (13 days ago)
- Topics: css-selectors, html, html5ever, nipper, scraper, selectors, spider
- Language: Rust
- Homepage: https://docs.rs/nipper
- Size: 4.19 MB
- Stars: 123
- Watchers: 6
- Forks: 18
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# 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](./logo.jpg)
## Example
#### Extract the hacker news.
```rust
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](./examples/readability.rs)## Related projects
* [html5ever](https://crates.io/crates/html5ever)
* [selectors](https://crates.io/crates/selectors)
* [goquery](https://godoc.org/github.com/PuerkitoBio/goquery)
* [scraper](https://crates.io/crates/scraper)
* [select.rs](https://crates.io/crates/select)## License
Licensed under either of
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](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.