Rust:
Analizando HTML
Cómo:
Para analizar HTML en Rust, a menudo utilizarás el crate scraper
, que proporciona una interfaz de alto nivel para recorrer y manipular documentos HTML.
Primero, añade scraper
a tu Cargo.toml
:
[dependencies]
scraper = "0.12.0"
A continuación, aquí tienes un ejemplo simple que extrae todas las URLs de enlaces de una cadena HTML dada:
extern crate scraper;
use scraper::{Html, Selector};
fn main() {
let html = r#"
<html>
<body>
<a href="http://example.com/1">Enlace 1</a>
<a href="http://example.com/2">Enlace 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!("Enlace encontrado: {}", link);
}
}
Salida:
Enlace encontrado: http://example.com/1
Enlace encontrado: http://example.com/2
En este ejemplo, analizamos un documento HTML simple para encontrar todos los elementos <a>
y extraer sus atributos href
, imprimiendo efectivamente las URLs de todos los enlaces en el documento. La biblioteca scraper
simplifica el análisis y la selección de elementos HTML específicos utilizando selectores CSS, convirtiéndola en una opción predilecta para tareas de web scraping en Rust.