Tweak :p
parent
0e5e4d57c5
commit
3ae6ffb8d0
@ -1,12 +1,50 @@
|
|||||||
package org.koitharu.kotatsu.parsers.site.liliana.vi
|
package org.koitharu.kotatsu.parsers.site.liliana.vi
|
||||||
|
|
||||||
|
import org.jsoup.Jsoup
|
||||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||||
|
import org.koitharu.kotatsu.parsers.model.MangaChapter
|
||||||
|
import org.koitharu.kotatsu.parsers.model.MangaPage
|
||||||
import org.koitharu.kotatsu.parsers.model.MangaParserSource
|
import org.koitharu.kotatsu.parsers.model.MangaParserSource
|
||||||
import org.koitharu.kotatsu.parsers.site.liliana.LilianaParser
|
import org.koitharu.kotatsu.parsers.site.liliana.LilianaParser
|
||||||
import org.koitharu.kotatsu.parsers.Broken
|
import org.koitharu.kotatsu.parsers.util.*
|
||||||
|
|
||||||
@Broken
|
|
||||||
@MangaSourceParser("DOCTRUYEN5S", "DocTruyen5s", "vi")
|
@MangaSourceParser("DOCTRUYEN5S", "DocTruyen5s", "vi")
|
||||||
internal class DocTruyen5s(context: MangaLoaderContext) :
|
internal class DocTruyen5s(context: MangaLoaderContext) :
|
||||||
LilianaParser(context, MangaParserSource.DOCTRUYEN5S, "dongmoe.com")
|
LilianaParser(context, MangaParserSource.DOCTRUYEN5S, "dongmoe.com") {
|
||||||
|
|
||||||
|
override suspend fun getPages(chapter: MangaChapter): List<MangaPage> {
|
||||||
|
val fullUrl = chapter.url.toAbsoluteUrl(domain)
|
||||||
|
val doc = webClient.httpGet(fullUrl).parseHtml()
|
||||||
|
|
||||||
|
val script = doc.selectFirst("script:containsData(const CHAPTER_ID)")?.data()
|
||||||
|
?: throw Exception("Failed to get chapter id")
|
||||||
|
|
||||||
|
val chapterId = script.substringAfter("const CHAPTER_ID = ").substringBefore(';')
|
||||||
|
|
||||||
|
val ajaxUrl = buildString {
|
||||||
|
append("https://")
|
||||||
|
append(domain)
|
||||||
|
append("/ajax/image/list/chap/")
|
||||||
|
append(chapterId)
|
||||||
|
}
|
||||||
|
|
||||||
|
val responseJson = webClient.httpGet(ajaxUrl).parseJson()
|
||||||
|
|
||||||
|
if (!responseJson.optBoolean("status", false)) {
|
||||||
|
throw Exception(responseJson.optString("msg"))
|
||||||
|
}
|
||||||
|
|
||||||
|
val pageListDoc = Jsoup.parse(responseJson.getString("html"))
|
||||||
|
|
||||||
|
return pageListDoc.select("div.separator a").map { element ->
|
||||||
|
val url = element.attr("href")
|
||||||
|
MangaPage(
|
||||||
|
id = generateUid(url),
|
||||||
|
url = url,
|
||||||
|
preview = null,
|
||||||
|
source = source
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue