Rust:
Аналіз HTML
Як це робити:
Для парсингу HTML у Rust вам часто знадобиться використовувати крейт scraper
, який надає високорівневий інтерфейс для перегляду і маніпулювання HTML-документами.
Спочатку додайте scraper
до вашого Cargo.toml
:
[dependencies]
scraper = "0.12.0"
Далі, ось простий приклад, який вилучає всі URL-посилань із заданого HTML-рядка:
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.