NineManga(es): Fix pages not loading (#11734)

fix page list
This commit is contained in:
bapeey 2025-11-21 17:25:25 -05:00 committed by Draff
parent 4c6b86973c
commit a085a3cb0d
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 29 additions and 1 deletions

View File

@ -1,7 +1,7 @@
ext { ext {
extName = 'NineManga' extName = 'NineManga'
extClass = '.NineMangaFactory' extClass = '.NineMangaFactory'
extVersionCode = 22 extVersionCode = 23
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -1,10 +1,15 @@
package eu.kanade.tachiyomi.extension.all.ninemanga package eu.kanade.tachiyomi.extension.all.ninemanga
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceFactory import eu.kanade.tachiyomi.source.SourceFactory
import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import keiyoushi.utils.parseAs
import okhttp3.Request import okhttp3.Request
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import java.text.ParseException import java.text.ParseException
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
@ -45,6 +50,29 @@ class NineMangaEs : NineManga("NineMangaEs", "https://es.ninemanga.com", "es") {
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
override fun pageListRequest(chapter: SChapter): Request {
val headers = headers.newBuilder()
.set("Referer", "$baseUrl/")
.build()
return GET(baseUrl + chapter.url, headers)
}
private val imgRegex = Regex("""all_imgs_url\s*:\s*\[\s*([^]]*)\s*,\s*]""")
override fun pageListParse(document: Document): List<Page> {
val script = document.selectFirst("script:containsData(all_imgs_url)")?.data()
?: throw Exception("Image data not found")
val images = imgRegex.find(script)?.groupValues?.get(1)
?.let { "[$it]".parseAs<List<String>>() }
?: throw Exception("Image list not found")
return images.mapIndexed { idx, img ->
Page(idx, imageUrl = img)
}
}
override fun parseChapterDate(date: String) = parseChapterDateByLang(date) override fun parseChapterDate(date: String) = parseChapterDateByLang(date)
// https://es.ninemanga.com/search/?type=high // https://es.ninemanga.com/search/?type=high