Rust:
HTMLの解析

方法:

RustでHTMLを解析するには、scraperクレートを使用することがよくあります。これにより、HTMLドキュメントをトラバースし、操作するための高レベルのインターフェイスが提供されます。

まず、Cargo.tomlscraperを追加します:

[dependencies]
scraper = "0.12.0"

次に、与えられたHTML文字列からすべてのリンクURLを抽出する簡単な例を示します:

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でのWebスクレイピングタスクに最適です。