From 341aa0e13d7df4227af09f6974efbd9f7116dde4 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Mon, 31 Jul 2023 15:08:46 +0300 Subject: [PATCH] [JapScan] Migrate to desktop version --- .../kotatsu/parsers/network/UserAgents.kt | 2 ++ .../kotatsu/parsers/site/fr/JapScanParser.kt | 18 ++++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/network/UserAgents.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/network/UserAgents.kt index a814c9ba9..fdd9eb8f9 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/network/UserAgents.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/network/UserAgents.kt @@ -8,5 +8,7 @@ object UserAgents { 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" + 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)" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/JapScanParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/JapScanParser.kt index 85cad9fc6..2591e7722 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/JapScanParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/JapScanParser.kt @@ -24,7 +24,7 @@ internal class JapScanParser(context: MangaLoaderContext) : PagedMangaParser(con override val configKeyDomain = ConfigKey.Domain("www.japscan.lol", "japscan.ws") override val headers: Headers = Headers.Builder() - .add("User-Agent", UserAgents.CHROME_MOBILE) + .add("User-Agent", UserAgents.FIREFOX_DESKTOP) .build() override suspend fun getListPage( @@ -41,15 +41,15 @@ internal class JapScanParser(context: MangaLoaderContext) : PagedMangaParser(con .addPathSegment("mangas") .addPathSegment(page.toString()) .build() - val root = webClient.httpGet(url).parseHtml() - .requireElementById("main") - .selectFirstOrThrow(".p-2.row.d-flex") - return root.select("div.col-4") + val doc = webClient.httpGet(url).parseHtml() + val root = doc.requireElementById("main") + .selectFirstOrThrow("div.d-flex.flex-wrap") + return root.select("div.p-2") .map { div -> val href = div.selectFirstOrThrow("a").attrAsRelativeUrl("href") Manga( id = generateUid(href), - title = div.selectFirstOrThrow("p.p-1 a").text(), + title = div.selectFirstOrThrow(".mainTitle").text(), altTitle = null, url = href, publicUrl = href.toAbsoluteUrl(domain), @@ -184,10 +184,8 @@ internal class JapScanParser(context: MangaLoaderContext) : PagedMangaParser(con var key1 = calc1tab.joinToString("") var key2 = calc2tab.joinToString("") - key1 = key1.replace("'", "") - key2 = key2.replace("'", "") - key1 = key1.replace(" ", "") - key2 = key2.replace(" ", "") + key1 = key1.filterNot { c -> c == '\'' || c == ' ' } + key2 = key2.filterNot { c -> c == '\'' || c == ' ' } val keyTables = listOf( key1.reversed(),