Change referer header and rewrite parts of the code (#1356)

Improvements for UnionMangás
This commit is contained in:
Alessandro Jean 2019-07-29 18:45:35 -03:00 committed by Eugene
parent 859504636f
commit 5e808c0dbb
2 changed files with 34 additions and 41 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Union Mangás' appName = 'Tachiyomi: Union Mangás'
pkgNameSuffix = 'pt.unionmangas' pkgNameSuffix = 'pt.unionmangas'
extClass = '.UnionMangas' extClass = '.UnionMangas'
extVersionCode = 6 extVersionCode = 7
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -29,23 +29,20 @@ class UnionMangas : ParsedHttpSource() {
// Sometimes the site is very slow. // Sometimes the site is very slow.
override val client = override val client =
network.client.newBuilder() network.cloudflareClient.newBuilder()
.connectTimeout(3, TimeUnit.MINUTES) .connectTimeout(3, TimeUnit.MINUTES)
.readTimeout(3, TimeUnit.MINUTES) .readTimeout(3, TimeUnit.MINUTES)
.writeTimeout(3, TimeUnit.MINUTES) .writeTimeout(3, TimeUnit.MINUTES)
.build() .build()
private val catalogHeaders = Headers.Builder() override fun headersBuilder(): Headers.Builder = Headers.Builder()
.apply { .add("User-Agent", USER_AGENT)
add("User-Agent", USER_AGENT) .add("Origin", baseUrl)
add("Origin", baseUrl) .add("Referer", "$baseUrl/ne")
add("Referer", "$baseUrl/ini")
}
.build()
override fun popularMangaRequest(page: Int): Request { override fun popularMangaRequest(page: Int): Request {
val pageStr = if (page != 1) "/$page" else "" val pageStr = if (page != 1) "/$page" else ""
return GET("$baseUrl/lista-mangas/visualizacoes$pageStr", catalogHeaders) return GET("$baseUrl/lista-mangas/visualizacoes$pageStr", headers)
} }
override fun popularMangaSelector(): String = "div.bloco-manga" override fun popularMangaSelector(): String = "div.bloco-manga"
@ -63,7 +60,7 @@ class UnionMangas : ParsedHttpSource() {
.add("pagina", page.toString()) .add("pagina", page.toString())
.build() .build()
val newHeaders = catalogHeaders.newBuilder() val newHeaders = headers.newBuilder()
.set("X-Requested-With", "XMLHttpRequest") .set("X-Requested-With", "XMLHttpRequest")
.build() .build()
@ -72,20 +69,18 @@ class UnionMangas : ParsedHttpSource() {
override fun latestUpdatesSelector() = "div.row[style] div.col-md-12[style]" override fun latestUpdatesSelector() = "div.row[style] div.col-md-12[style]"
override fun latestUpdatesFromElement(element: Element): SManga { override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply {
val infoElement = element.select("a.link-titulo") val infoElement = element.select("a.link-titulo")
return SManga.create().apply {
title = removeLanguage(infoElement.last().text()) title = removeLanguage(infoElement.last().text())
thumbnail_url = infoElement.first()?.select("img")?.attr("src") thumbnail_url = infoElement.first()?.select("img")?.attr("src")
setUrlWithoutDomain(infoElement.last().attr("href")) setUrlWithoutDomain(infoElement.last().attr("href"))
} }
}
override fun latestUpdatesNextPageSelector() = "div#linha-botao-mais" override fun latestUpdatesNextPageSelector() = "div#linha-botao-mais"
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val newHeaders = catalogHeaders.newBuilder() val newHeaders = headers.newBuilder()
.set("X-Requested-With", "XMLHttpRequest") .set("X-Requested-With", "XMLHttpRequest")
.build() .build()
@ -109,7 +104,7 @@ class UnionMangas : ParsedHttpSource() {
setUrlWithoutDomain("$baseUrl/manga/${obj["url"].string}") setUrlWithoutDomain("$baseUrl/manga/${obj["url"].string}")
} }
override fun mangaDetailsRequest(manga: SManga): Request = GET(baseUrl + manga.url, catalogHeaders) override fun mangaDetailsRequest(manga: SManga): Request = GET(baseUrl + manga.url, headers)
override fun mangaDetailsParse(document: Document): SManga { override fun mangaDetailsParse(document: Document): SManga {
val infoElement = document.select("div.tamanho-bloco-perfil").first() val infoElement = document.select("div.tamanho-bloco-perfil").first()
@ -138,23 +133,21 @@ class UnionMangas : ParsedHttpSource() {
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
override fun chapterListRequest(manga: SManga): Request = GET(baseUrl + manga.url, catalogHeaders) override fun chapterListRequest(manga: SManga): Request = GET(baseUrl + manga.url, headers)
override fun chapterListSelector() = "div.row.lancamento-linha" override fun chapterListSelector() = "div.row.lancamento-linha"
override fun chapterFromElement(element: Element): SChapter { override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
val firstColumn = element.select("div.col-md-6:eq(0)") val firstColumn = element.select("div.col-md-6:eq(0)")
val secondColumn = element.select("div.col-md-6:eq(1)") val secondColumn = element.select("div.col-md-6:eq(1)")
return SChapter.create().apply {
name = firstColumn.select("a").first().text() name = firstColumn.select("a").first().text()
scanlator = secondColumn?.text() scanlator = secondColumn?.text()
date_upload = parseChapterDate(firstColumn.select("span").last()!!.text()) date_upload = parseChapterDate(firstColumn.select("span").last()!!.text())
setUrlWithoutDomain(firstColumn.select("a").first().attr("href")) setUrlWithoutDomain(firstColumn.select("a").first().attr("href"))
} }
}
override fun pageListRequest(chapter: SChapter): Request = GET(baseUrl + chapter.url, catalogHeaders) override fun pageListRequest(chapter: SChapter): Request = GET(baseUrl + chapter.url, headers)
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
val pages = document.select("img.img-responsive.img-manga") val pages = document.select("img.img-responsive.img-manga")