Rust:
Analisi del HTML

Come fare:

Per analizzare HTML in Rust, si utilizza spesso il crate scraper, che fornisce un’interfaccia di alto livello per attraversare e manipolare documenti HTML.

Prima, aggiungi scraper al tuo Cargo.toml:

[dependencies]
scraper = "0.12.0"

Di seguito, ecco un semplice esempio che estrae tutti gli URL dei link da una stringa HTML data:

extern crate scraper;

use scraper::{Html, Selector};

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

    let document = Html::parse_document(html);
    let selector = Selector::parse("a").unwrap();

    for element in document.select(&selector) {
        let link = element.value().attr("href").unwrap();
        println!("Trovato link: {}", link);
    }
}

Output:

Trovato link: http://example.com/1
Trovato link: http://example.com/2

In questo esempio, analizziamo un semplice documento HTML per trovare tutti gli elementi <a> ed estrarne gli attributi href, stampando effettivamente gli URL di tutti i link nel documento. La libreria scraper semplifica l’analisi di HTML e la selezione di elementi specifici usando i selettori CSS, rendendola una risorsa ideale per compiti di web scraping in Rust.