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 {
extName = 'NineManga'
extClass = '.NineMangaFactory'
extVersionCode = 22
extVersionCode = 23
}
apply from: "$rootDir/common.gradle"

View File

@ -1,10 +1,15 @@
package eu.kanade.tachiyomi.extension.all.ninemanga
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceFactory
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 keiyoushi.utils.parseAs
import okhttp3.Request
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import java.text.ParseException
import java.text.SimpleDateFormat
@ -45,6 +50,29 @@ class NineMangaEs : NineManga("NineMangaEs", "https://es.ninemanga.com", "es") {
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)
// https://es.ninemanga.com/search/?type=high