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">ลิงก์ 1</a>
        <a href="http://example.com/2">ลิงก์ 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