v1
This commit is contained in:
36
src/main.rs
Normal file
36
src/main.rs
Normal file
@@ -0,0 +1,36 @@
|
||||
use scraper::{Html, Selector};
|
||||
use regex::Regex;
|
||||
use std::process::exit;
|
||||
|
||||
|
||||
fn main() {
|
||||
let standins_url = "https://www.bscyb.ch/tabelle-sl";
|
||||
|
||||
let response = reqwest::blocking::get(standins_url).unwrap().text().unwrap();
|
||||
|
||||
let document = Html::parse_document(&response);
|
||||
|
||||
let row_selector = Selector::parse("tr").unwrap();
|
||||
|
||||
let ranks = document.select(&row_selector).map(|x| x.html());
|
||||
|
||||
let re_pattern = match Regex::new(r"<td[^>]*>([^<]+)") {
|
||||
Ok(re_pattern) => re_pattern,
|
||||
Err(error) => {
|
||||
eprintln!("Failed to compile pattern. Error {error}");
|
||||
exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
for rank in ranks {
|
||||
|
||||
let mut row = vec![];
|
||||
|
||||
for cap in re_pattern.captures_iter(&rank) {
|
||||
row.push(cap.get(1).unwrap().as_str());
|
||||
}
|
||||
|
||||
println!("row: {:?}", row);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user