scraper
神スクレイピングライブラリ
宣言
extern crate scraper;
use scraper::{Selector, Html};
htmlの用意
let html = r#"<html>...</html>#";
htmlのパース
let document = Html::parse_document(html);
cssセレクタの用意
let css = "head";
cssセレクタのパース
let selector = Selector::parse(css).unwrap();
スクレイピング
for node in document.select(&selector) {
//処理
}
node
・文字列として取り出す
node.value()
・属性を取得
node.value().attr("content").unwrap()
例
for node in document.select(&selector) {
let content = node.value().attr("content").unwrap_or("");
let i = content.find("charset=");
let charset = match i {
Some(i) => {
&content[i+8..]
},
_ => ""
};
println!("{}", charset);
}