htmler is a html parsing library with css selectors.
This is a fork of scraper, and provides higher-level encapsulation and a more consistent interface.
Examples
Parsing a document/fragment
use Html;
let html = r#"
<!DOCTYPE html>
<meta charset="utf-8">
<title>Hello, world!</title>
<h1 class="foo">Hello, <i>world!</i></h1>
"#;
let document = parse_document;
let fragment = parse_fragment;
Selecting elements
use ;
let html = r#"
<ul>
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
"#;
let fragment = parse_fragment;
let selector = new;
for element in fragment.select
Selecting descendent elements
use ;
let html = r#"
<ul>
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
"#;
let fragment = parse_fragment;
let ul_selector = new;
let li_selector = new;
let ul = fragment.select.next.unwrap;
for element in ul.select
Accessing element attributes
use ;
let fragment = parse_fragment;
let selector = new;
let input = fragment.select.next.unwrap;
assert_eq!;
Serializing HTML and inner HTML
use ;
let fragment = parse_fragment;
let selector = new;
let h1 = fragment.select.next.unwrap;
assert_eq!;
assert_eq!;
Accessing descendent text
use ;
let fragment = parse_fragment;
let selector = new;
let h1 = fragment.select.next.unwrap;
let text = h1.text.;
assert_eq!;