Rust:
HTML:n jäsennys

Kuinka:

Jäsennettäessä HTML:ää Rustilla käytetään usein scraper-pakettia, joka tarjoaa korkean tason rajapinnan HTML-dokumenttien läpikäymiseen ja manipulointiin.

Lisää ensin scraper Cargo.toml-tiedostoosi:

[dependencies]
scraper = "0.12.0"

Seuraavaksi on yksinkertainen esimerkki, joka poimii kaikki linkkien URL-osoitteet annetusta HTML-merkkijonosta:

extern crate scraper;

use scraper::{Html, Selector};

fn main() {
    let html = r#"
    <html>
    <body>
        <a href="http://example.com/1">Linkki 1</a>
        <a href="http://example.com/2">Linkki 2</a>
    </body>
    </html>
    "#;

    let dokumentti = Html::parse_document(html);
    let valitsin = Selector::parse("a").unwrap();

    for elementti in dokumentti.select(&valitsin) {
        let linkki = elementti.value().attr("href").unwrap();
        println!("Löydetty linkki: {}", linkki);
    }
}

Tuloste:

Löydetty linkki: http://example.com/1
Löydetty linkki: http://example.com/2

Tässä esimerkissä jäsennämme yksinkertaisen HTML-dokumentin löytääksemme kaikki <a>-elementit ja poimiaksemme niiden href-attribuutit, tehokkaasti tulostaen kaikkien dokumentin linkkien URL-osoitteet. scraper-kirjasto yksinkertaistaa HTML:n jäsentämistä ja tiettyjen elementtien valitsemista CSS-valitsimien avulla, tehden siitä suosikin web-skaapauksen tehtävissä Rustissa.