From ae982dcfd5f6fc2994bbdba50e9f85e882603746 Mon Sep 17 00:00:00 2001 From: AlphaBoom <30779939+AlphaBoom@users.noreply.github.com> Date: Tue, 3 Jun 2025 12:44:20 +0800 Subject: [PATCH] Xfani: Update domain (#3) --- src/zh/xfani/build.gradle | 2 +- .../animeextension/zh/xfani/Xfani.kt | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/zh/xfani/build.gradle b/src/zh/xfani/build.gradle index 89b38f74..937a972a 100644 --- a/src/zh/xfani/build.gradle +++ b/src/zh/xfani/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Xfani' extClass = '.Xfani' - extVersionCode = 5 + extVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt b/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt index 92583f32..eeb802e9 100644 --- a/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt +++ b/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt @@ -53,7 +53,7 @@ enum class FilterUpdateState { class Xfani : AnimeHttpSource(), ConfigurableAnimeSource { override val baseUrl: String - get() = "https://dick.xfani.com" + get() = "https://dm.xifanacg.com" override val lang: String get() = "zh" override val name: String @@ -117,10 +117,16 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource { } override fun animeDetailsParse(response: Response): SAnime { - val jsoup = response.asJsoup() + val doc = response.asJsoup() return SAnime.create().apply { - description = jsoup.select("#height_limit.text").text() - title = jsoup.select(".slide-info-title").text() + description = doc.select("#height_limit.text").text() + title = doc.select(".slide-info-title").text() + author = doc.select(".slide-info:contains(导演 :)").text().removePrefix("导演 :") + .removeSuffix(",") + artist = doc.select(".slide-info:contains(演员 :)").text().removePrefix("演员 :") + .removeSuffix(",") + genre = doc.select(".slide-info:contains(类型 :)").text().removePrefix("类型 :") + .removeSuffix(",").replace(",", ", ") } } @@ -234,19 +240,13 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource { return vodListToAnimePageList(response) } val jsoup = response.asJsoup() - val items = jsoup.select("div.public-list-box.search-box.flex.rel") + val items = jsoup.select("div.search-list") val animeList = items.map { item -> SAnime.create().apply { - title = item.select(".thumb-txt").text() - url = item.select("div.left.public-list-bj a.public-list-exp").attr("href") + title = item.select("div.detail-info > a").text() + url = item.select("div.detail-info > a").attr("href") thumbnail_url = - item.select("div.left.public-list-bj img[data-src]").attr("data-src") - author = item.select("div.thumb-actor").text().removeSuffix("/") - artist = item.select("div.thumb-director").text().removeSuffix("/") - description = item.select(".thumb-blurb").text() - genre = item.select("div.thumb-else").text() - val statusString = item.select("div.left.public-list-bj .public-list-prb").text() - status = STATUS_STR_MAPPING.getOrElse(statusString) { SAnime.ONGOING } + item.select("div.detail-pic img[data-src]").attr("data-src") } } val tip = jsoup.select("div.pages div.page-tip").text()