summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/webtoons.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/webtoons.py')
-rw-r--r--gallery_dl/extractor/webtoons.py48
1 files changed, 33 insertions, 15 deletions
diff --git a/gallery_dl/extractor/webtoons.py b/gallery_dl/extractor/webtoons.py
index 3f2f410..949c7cb 100644
--- a/gallery_dl/extractor/webtoons.py
+++ b/gallery_dl/extractor/webtoons.py
@@ -87,23 +87,41 @@ class WebtoonsEpisodeExtractor(WebtoonsBase, GalleryExtractor):
self.episode_no = params.get("episode_no")
def metadata(self, page):
- keywords, pos = text.extract(
- page, '<meta name="keywords" content="', '"')
- title, pos = text.extract(
- page, '<meta property="og:title" content="', '"', pos)
- descr, pos = text.extract(
- page, '<meta property="og:description" content="', '"', pos)
+ extr = text.extract_from(page)
+ title = extr('<meta property="og:title" content="', '"')
+ descr = extr('<meta property="og:description" content="', '"')
+
+ if extr('<div class="subj_info"', '\n'):
+ comic_name = extr('>', '<')
+ episode_name = extr('<h1 class="subj_episode" title="', '"')
+ else:
+ comic_name = episode_name = ""
+
+ if extr('<span class="tx _btnOpenEpisodeList ', '"'):
+ episode = extr('>#', '<')
+ else:
+ episode = ""
+
+ if extr('<div class="author_area"', '\n'):
+ username = extr('/creator/', '"')
+ author_name = extr('<span>', '</span>')
+ else:
+ username = author_name = ""
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" : episode,
+ "comic_name" : text.unescape(comic_name),
+ "episode_name": text.unescape(episode_name),
+ "username" : username,
+ "author_name" : text.unescape(author_name),
+ "description" : text.unescape(descr),
+ "lang" : self.lang,
+ "language" : util.code_to_language(self.lang),
}
@staticmethod