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",