Rust:
HTMLの解析
方法:
RustでHTMLを解析するには、scraper
クレートを使用することがよくあります。これにより、HTMLドキュメントをトラバースし、操作するための高レベルのインターフェイスが提供されます。
まず、Cargo.toml
にscraper
を追加します:
[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スクレイピングタスクに最適です。