mirror of
https://codeberg.org/icewind/ugc-scaper.git
synced 2026-06-03 18:24:10 +02:00
fix selectors
This commit is contained in:
parent
63fee7e964
commit
7047938329
3 changed files with 15 additions and 11 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
|
@ -1540,7 +1540,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
|
|||
|
||||
[[package]]
|
||||
name = "ugc-scraper"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
dependencies = [
|
||||
"insta",
|
||||
"main_error",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "ugc-scraper"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
edition = "2021"
|
||||
rust-version = "1.67.0"
|
||||
description = "Scraper for ugcleague.com"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@ const SELECTOR_PLAYER_TEAM_SINCE: &str = "small";
|
|||
|
||||
const SELECTOR_AVATAR: &str =
|
||||
r#"a[href*="https://www.ugcleague.com/players_page.cfm?player_id="] img.img-responsive"#;
|
||||
const SELECTOR_CLASS: &str = r#"img.img-rounded[src*="images/tf2/icon/"]"#;
|
||||
const SELECTOR_CLASS: &str =
|
||||
r#"img.img-rounded[src*="images/tf2/icon/"], img.img-rounded[data-cfsrc*="images/tf2/icon/"]"#;
|
||||
|
||||
pub struct PlayerParser {
|
||||
selector_name: Selector,
|
||||
|
|
@ -103,14 +104,17 @@ impl Parser for PlayerParser {
|
|||
.unwrap_or_default()
|
||||
.to_string();
|
||||
|
||||
let avatar = document
|
||||
let avatar_element =
|
||||
document
|
||||
.select(&self.selector_avatar)
|
||||
.next()
|
||||
.ok_or(ParseError::ElementNotFound {
|
||||
selector: SELECTOR_AVATAR,
|
||||
role: "player avatar",
|
||||
})?
|
||||
})?;
|
||||
let avatar = avatar_element
|
||||
.attr("src")
|
||||
.or_else(|| avatar_element.attr("data-cfsrc"))
|
||||
.unwrap_or_default()
|
||||
.to_string();
|
||||
|
||||
|
|
@ -151,7 +155,7 @@ impl Parser for PlayerParser {
|
|||
|
||||
let favorite_classes = document
|
||||
.select(&self.selector_class)
|
||||
.filter_map(|class| class.attr("src"))
|
||||
.filter_map(|class| class.attr("src").or_else(|| class.attr("data-cfsrc")))
|
||||
.filter_map(|img| {
|
||||
img.strip_prefix("images/tf2/icon/")
|
||||
.and_then(|class| class.strip_suffix(".jpg"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue