Mangacrab : Fix thumbnail and images (#10061)

* fix thumbnail and images

* bump
This commit is contained in:
dngonz 2025-08-11 04:49:26 +02:00 committed by Draff
parent 8c7c46e0e2
commit f9e6919908
Signed by: Draff
GPG Key ID: E8A89F3211677653
3 changed files with 7 additions and 2 deletions

View File

@ -163,6 +163,7 @@ abstract class Madara(
override fun popularMangaSelector() = "div.page-item-detail:not(:has(a[href*='bilibilicomics.com']))$mangaEntrySelector , .manga__item" override fun popularMangaSelector() = "div.page-item-detail:not(:has(a[href*='bilibilicomics.com']))$mangaEntrySelector , .manga__item"
open val popularMangaUrlSelector = "div.post-title a" open val popularMangaUrlSelector = "div.post-title a"
open val popularMangaUrlSelectorImg = "img"
override fun popularMangaFromElement(element: Element): SManga { override fun popularMangaFromElement(element: Element): SManga {
val manga = SManga.create() val manga = SManga.create()
@ -173,7 +174,7 @@ abstract class Madara(
manga.title = it.ownText() manga.title = it.ownText()
} }
selectFirst("img")?.let { selectFirst(popularMangaUrlSelectorImg)?.let {
manga.thumbnail_url = imageFromElement(it) manga.thumbnail_url = imageFromElement(it)
} }
} }

View File

@ -3,7 +3,7 @@ ext {
extClass = '.MangaCrab' extClass = '.MangaCrab'
themePkg = 'madara' themePkg = 'madara'
baseUrl = 'https://mangacrab.topmanhuas.org' baseUrl = 'https://mangacrab.topmanhuas.org'
overrideVersionCode = 13 overrideVersionCode = 14
isNsfw = false isNsfw = false
} }

View File

@ -38,6 +38,7 @@ class MangaCrab :
override fun popularMangaSelector() = "div.manga__item" override fun popularMangaSelector() = "div.manga__item"
override val popularMangaUrlSelector = "div.post-title a" override val popularMangaUrlSelector = "div.post-title a"
override val popularMangaUrlSelectorImg = "div.manga__thumb_item img"
override fun chapterListSelector() = "div.listing-chapters_wrap > ul > li" override fun chapterListSelector() = "div.listing-chapters_wrap > ul > li"
override val mangaDetailsSelectorTitle = "h1.post-title" override val mangaDetailsSelectorTitle = "h1.post-title"
override val mangaDetailsSelectorDescription = "div.c-page__content div.modal-contenido" override val mangaDetailsSelectorDescription = "div.c-page__content div.modal-contenido"
@ -49,12 +50,15 @@ class MangaCrab :
override val pageListParseSelector = "div.page-break:not([style*='display:none'])" override val pageListParseSelector = "div.page-break:not([style*='display:none'])"
override fun imageFromElement(element: Element): String? { override fun imageFromElement(element: Element): String? {
val imageAbsUrl = element.attributes().find { it.key.startsWith("data-img-") }?.value
return when { return when {
element.hasAttr("data-src") -> element.attr("abs:data-src") element.hasAttr("data-src") -> element.attr("abs:data-src")
element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src") element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src")
element.hasAttr("srcset") -> element.attr("abs:srcset").getSrcSetImage() element.hasAttr("srcset") -> element.attr("abs:srcset").getSrcSetImage()
element.hasAttr("data-cfsrc") -> element.attr("abs:data-cfsrc") element.hasAttr("data-cfsrc") -> element.attr("abs:data-cfsrc")
element.hasAttr("data-src-base64") -> element.attr("abs:data-src-base64") element.hasAttr("data-src-base64") -> element.attr("abs:data-src-base64")
imageAbsUrl != null -> imageAbsUrl
else -> element.attr("abs:src") else -> element.attr("abs:src")
} }
} }