Rust:
פיענוח HTML

איך לעשות:

כדי לפרסר HTML ב-Rust, לרוב תשתמשו ב-scraper crate, אשר מספק ממשק גבוה לניווט ולניפוי מסמכי HTML.

ראשית, הוסיפו את scraper ל-Cargo.toml שלכם:

[dependencies]
scraper = "0.12.0"

לאחר מכן, הנה דוגמה פשוטה שחולצת כתובות URL של קישורים ממחרוזת HTML נתונה:

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!("מצאתי קישור: {}", link);
    }
}

פלט:

מצאתי קישור: http://example.com/1
מצאתי קישור: http://example.com/2

בדוגמה זו, אנו מפרסרים מסמך HTML פשוט כדי למצוא את כל האלמנטים <a> ולחלץ את המאפיינים href שלהם, מה שלמעשה מדפיס את כתובות ה-URL של כל הקישורים במסמך. הספרייה scraper מפשטת את פרסור HTML ובחירת אלמנטים ספציפיים באמצעות בוררי CSS, מה שהופך אותה לבחירה הנפוצה למשימות גריפת אתרים ב-Rust.