[JapScan] Migrate to desktop version

Koitharu 3 years ago
parent 3c4359096d
commit 341aa0e13d
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -8,5 +8,7 @@ object UserAgents {
const val CHROME_DESKTOP = const val CHROME_DESKTOP =
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
const val FIREFOX_DESKTOP = "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/116.0"
const val KOTATSU = "Kotatsu/5.3 (Android 12;;; en)" const val KOTATSU = "Kotatsu/5.3 (Android 12;;; en)"
} }

@ -24,7 +24,7 @@ internal class JapScanParser(context: MangaLoaderContext) : PagedMangaParser(con
override val configKeyDomain = ConfigKey.Domain("www.japscan.lol", "japscan.ws") override val configKeyDomain = ConfigKey.Domain("www.japscan.lol", "japscan.ws")
override val headers: Headers = Headers.Builder() override val headers: Headers = Headers.Builder()
.add("User-Agent", UserAgents.CHROME_MOBILE) .add("User-Agent", UserAgents.FIREFOX_DESKTOP)
.build() .build()
override suspend fun getListPage( override suspend fun getListPage(
@ -41,15 +41,15 @@ internal class JapScanParser(context: MangaLoaderContext) : PagedMangaParser(con
.addPathSegment("mangas") .addPathSegment("mangas")
.addPathSegment(page.toString()) .addPathSegment(page.toString())
.build() .build()
val root = webClient.httpGet(url).parseHtml() val doc = webClient.httpGet(url).parseHtml()
.requireElementById("main") val root = doc.requireElementById("main")
.selectFirstOrThrow(".p-2.row.d-flex") .selectFirstOrThrow("div.d-flex.flex-wrap")
return root.select("div.col-4") return root.select("div.p-2")
.map { div -> .map { div ->
val href = div.selectFirstOrThrow("a").attrAsRelativeUrl("href") val href = div.selectFirstOrThrow("a").attrAsRelativeUrl("href")
Manga( Manga(
id = generateUid(href), id = generateUid(href),
title = div.selectFirstOrThrow("p.p-1 a").text(), title = div.selectFirstOrThrow(".mainTitle").text(),
altTitle = null, altTitle = null,
url = href, url = href,
publicUrl = href.toAbsoluteUrl(domain), publicUrl = href.toAbsoluteUrl(domain),
@ -184,10 +184,8 @@ internal class JapScanParser(context: MangaLoaderContext) : PagedMangaParser(con
var key1 = calc1tab.joinToString("") var key1 = calc1tab.joinToString("")
var key2 = calc2tab.joinToString("") var key2 = calc2tab.joinToString("")
key1 = key1.replace("'", "") key1 = key1.filterNot { c -> c == '\'' || c == ' ' }
key2 = key2.replace("'", "") key2 = key2.filterNot { c -> c == '\'' || c == ' ' }
key1 = key1.replace(" ", "")
key2 = key2.replace(" ", "")
val keyTables = listOf( val keyTables = listOf(
key1.reversed(), key1.reversed(),

Loading…
Cancel
Save