Rust:
Analizando HTML

Cómo:

Para analizar HTML en Rust, a menudo utilizarás el crate scraper, que proporciona una interfaz de alto nivel para recorrer y manipular documentos HTML.

Primero, añade scraper a tu Cargo.toml:

[dependencies]
scraper = "0.12.0"

A continuación, aquí tienes un ejemplo simple que extrae todas las URLs de enlaces de una cadena HTML dada:

extern crate scraper;

use scraper::{Html, Selector};

fn main() {
    let html = r#"
    <html>
    <body>
        <a href="http://example.com/1">Enlace 1</a>
        <a href="http://example.com/2">Enlace 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!("Enlace encontrado: {}", link);
    }
}

Salida:

Enlace encontrado: http://example.com/1
Enlace encontrado: http://example.com/2

En este ejemplo, analizamos un documento HTML simple para encontrar todos los elementos <a> y extraer sus atributos href, imprimiendo efectivamente las URLs de todos los enlaces en el documento. La biblioteca scraper simplifica el análisis y la selección de elementos HTML específicos utilizando selectores CSS, convirtiéndola en una opción predilecta para tareas de web scraping en Rust.