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