-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathmain.rs
More file actions
23 lines (18 loc) · 704 Bytes
/
main.rs
File metadata and controls
23 lines (18 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use html_parser::{Dom, Node, Result};
use ownable::traits::ToBorrowed;
use std::ops::Deref;
// This example illustrates how to use the library to get all of the anchor-hrefs from a document.
fn main() -> Result<()> {
let html = include_str!("./index.html");
let dom = Dom::parse(html)?;
let iter = dom.children.first().unwrap().into_iter();
let hrefs = iter.filter_map(|item| match item {
Node::Element(element) if element.name == "a" => element.attributes["href"].to_borrowed(),
_ => None,
});
println!("\nThe following links where found:");
for (index, href) in hrefs.enumerate() {
println!("{}: {}", index + 1, href.deref())
}
Ok(())
}