heavyfetish fix

This commit is contained in:
Simon
2026-04-14 21:01:44 +00:00
parent 57ae23656a
commit 5ac6d72239

View File

@@ -679,26 +679,8 @@ impl HeavyfetishProvider {
} }
} }
fn list_container<'a>(&self, document: &'a Html) -> Result<Option<ElementRef<'a>>> {
for selector_text in [
"#list_videos_fetish_videos_list_items",
"#list_videos_videos_list_search_result_items",
"#list_videos_common_videos_list_items",
"#list_videos_uploaded_videos_items",
] {
let selector = Self::selector(selector_text)?;
if let Some(element) = document.select(&selector).next() {
return Ok(Some(element));
}
}
Ok(None)
}
fn parse_list_videos(&self, html: &str) -> Result<Vec<VideoItem>> { fn parse_list_videos(&self, html: &str) -> Result<Vec<VideoItem>> {
let document = Html::parse_document(html); let document = Html::parse_document(html);
let Some(container) = self.list_container(&document)? else {
return Ok(vec![]);
};
let card_selector = Self::selector("div.item.hf-video-item")?; let card_selector = Self::selector("div.item.hf-video-item")?;
let link_selector = Self::selector("a[href*=\"/videos/\"]")?; let link_selector = Self::selector("a[href*=\"/videos/\"]")?;
@@ -710,11 +692,10 @@ impl HeavyfetishProvider {
let mut items = Vec::new(); let mut items = Vec::new();
for card in container.select(&card_selector) { for card in document.select(&card_selector) {
let Some(link) = card.select(&link_selector).next() else { let Some(link) = card.select(&link_selector).next() else {
continue; continue;
}; };
let href = link.value().attr("href").unwrap_or_default(); let href = link.value().attr("href").unwrap_or_default();
let page_url = self.normalize_url(href); let page_url = self.normalize_url(href);
let id = page_url let id = page_url