From 69cf2f413fc61f534c269919d579e880dd19deaf Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Sat, 7 Oct 2023 20:13:50 +0000 Subject: [PATCH 1/2] Fix Tapas: extract mangatitle from dataset --- src/web/mjs/connectors/Tapas.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/mjs/connectors/Tapas.mjs b/src/web/mjs/connectors/Tapas.mjs index 30ed97b8bd..dd613825e8 100644 --- a/src/web/mjs/connectors/Tapas.mjs +++ b/src/web/mjs/connectors/Tapas.mjs @@ -40,7 +40,7 @@ export default class Tapas extends Connector { return data.map(element => { return { id: this.getRootRelativeOrAbsoluteLink(element.pathname, this.url), - title: element.querySelector('source').attributes.getNamedItem('alt').value.trim() + title: element.dataset.tiaraEventMetaSeries.trim() }; }); } @@ -127,4 +127,4 @@ export default class Tapas extends Connector { return [ await Engine.Request.fetchUI(request, script, 30000, true) ]; } -} \ No newline at end of file +} From 1012362e99497d468b64776fe373f1c080c2e800 Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Sat, 7 Oct 2023 20:32:00 +0000 Subject: [PATCH 2/2] tapas : use json to get mangas better that fetching page again --- src/web/mjs/connectors/Tapas.mjs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/web/mjs/connectors/Tapas.mjs b/src/web/mjs/connectors/Tapas.mjs index dd613825e8..d90d5a7def 100644 --- a/src/web/mjs/connectors/Tapas.mjs +++ b/src/web/mjs/connectors/Tapas.mjs @@ -30,14 +30,19 @@ export default class Tapas extends Connector { } async _getMangasFromPage(page) { - let uri = new URL('/comics', this.url); + const uri = new URL('/comics', this.url); uri.searchParams.set('b', 'ALL'); uri.searchParams.set('g', 0); uri.searchParams.set('pageNumber', page); //uri.searchParams.set('pageSize', 20); - let request = new Request(uri, this.requestOptions); - let data = await this.fetchDOM(request, 'div.section__body ul.content__list li.list__item a.thumb'); - return data.map(element => { + const request = new Request(uri, this.requestOptions); + request.headers.set('Accept', 'application/json, text/javascript, */*;'); + + const data = await this.fetchJSON(request, this.requestOptions); + const dom = new DOMParser().parseFromString(data.data.body, 'text/html'); + const nodes = [...dom.querySelectorAll('li.list__item a.thumb')]; + + return nodes.map(element => { return { id: this.getRootRelativeOrAbsoluteLink(element.pathname, this.url), title: element.dataset.tiaraEventMetaSeries.trim()