Rust:
Analisi del HTML
Come fare:
Per analizzare HTML in Rust, si utilizza spesso il crate scraper
, che fornisce un’interfaccia di alto livello per attraversare e manipolare documenti HTML.
Prima, aggiungi scraper
al tuo Cargo.toml
:
[dependencies]
scraper = "0.12.0"
Di seguito, ecco un semplice esempio che estrae tutti gli URL dei link da una stringa HTML data:
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!("Trovato link: {}", link);
}
}
Output:
Trovato link: http://example.com/1
Trovato link: http://example.com/2
In questo esempio, analizziamo un semplice documento HTML per trovare tutti gli elementi <a>
ed estrarne gli attributi href
, stampando effettivamente gli URL di tutti i link nel documento. La libreria scraper
semplifica l’analisi di HTML e la selezione di elementi specifici usando i selettori CSS, rendendola una risorsa ideale per compiti di web scraping in Rust.