diff --git a/gallery_dl/extractor/webtoons.py b/gallery_dl/extractor/webtoons.py index 3f2f410d4c..1c7af470d2 100644 --- a/gallery_dl/extractor/webtoons.py +++ b/gallery_dl/extractor/webtoons.py @@ -87,23 +87,30 @@ def _init(self): self.episode_no = params.get("episode_no") def metadata(self, page): - keywords, pos = text.extract( - page, '', '') + aa_extr = text.extract_from(author_area) + username = aa_extr('/creator/', '"') + author_name = aa_extr('', '') return { - "genre" : self.genre, - "comic" : self.comic, - "title_no" : self.title_no, - "episode_no" : self.episode_no, - "title" : text.unescape(title), - "episode" : keywords.split(", ")[1], - "description": text.unescape(descr), - "lang" : self.lang, - "language" : util.code_to_language(self.lang), + "genre" : self.genre, + "comic" : self.comic, + "title_no" : self.title_no, + "episode_no" : self.episode_no, + "title" : text.unescape(title), + "episode" : keywords[1], + "comic_name" : text.unescape(keywords[0]), + "episode_name": text.unescape(keywords[2]), + "username" : username, + "author_name" : text.unescape(author_name), + "description" : text.unescape(descr), + "lang" : self.lang, + "language" : util.code_to_language(self.lang), } @staticmethod diff --git a/test/results/webtoons.py b/test/results/webtoons.py index d2a177fd7c..9ca9344671 100644 --- a/test/results/webtoons.py +++ b/test/results/webtoons.py @@ -37,6 +37,18 @@ "title_no" : "312584", }, +{ + "#url" : "https://www.webtoons.com/en/canvas/i-want-to-be-a-cute-anime-girl/209-the-storys-story/viewer?title_no=349416&episode_no=214", + "#category": ("", "webtoons", "episode"), + "#class" : webtoons.WebtoonsEpisodeExtractor, + "#count" : 4, + + "comic_name" : "I want to be a cute anime girl", + "episode_name": "209 - The story's story", + "username" : "m9huj", + "author_name" : "Azul Crescent", +}, + { "#url" : "https://www.webtoons.com/en/comedy/live-with-yourself/list?title_no=919", "#comment" : "english",