Rust:
Analisando HTML
Como fazer:
Para analisar HTML em Rust, você normalmente usará o crate scraper
, que fornece uma interface de alto nível para percorrer e manipular documentos HTML.
Primeiro, adicione scraper
ao seu Cargo.toml
:
[dependencies]
scraper = "0.12.0"
A seguir, um exemplo simples que extrai todos os URLs de links de uma string HTML dada:
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!("Link encontrado: {}", link);
}
}
Saída:
Link encontrado: http://example.com/1
Link encontrado: http://example.com/2
Neste exemplo, analisamos um documento HTML simples para encontrar todos os elementos <a>
e extrair seus atributos href
, efetivamente imprimindo os URLs de todos os links no documento. A biblioteca scraper
simplifica a análise de HTML e a seleção de elementos específicos usando seletores CSS, tornando-a uma escolha popular para tarefas de web scraping em Rust.