Rust:
HTML parsen

Wie:

Um HTML in Rust zu parsen, wirst du oft das scraper-Crate verwenden, das eine High-Level-Schnittstelle bietet, um HTML-Dokumente zu durchlaufen und zu manipulieren.

Füge zunächst scraper deiner Cargo.toml hinzu:

[dependencies]
scraper = "0.12.0"

Im Folgenden findest du ein einfaches Beispiel, das alle Link-URLs aus einem gegebenen HTML-String extrahiert:

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!("Gefundener Link: {}", link);
    }
}

Ausgabe:

Gefundener Link: http://example.com/1
Gefundener Link: http://example.com/2

In diesem Beispiel parsen wir ein einfaches HTML-Dokument, um alle <a>-Elemente zu finden und deren href-Attribute zu extrahieren, wodurch effektiv die URLs aller Links im Dokument ausgegeben werden. Die scraper-Bibliothek vereinfacht das Parsen von HTML und das Auswählen spezifischer Elemente mit CSS-Selektoren, was sie zu einer bevorzugten Wahl für Web-Scraping-Aufgaben in Rust macht.