|
|
@ -87,12 +87,16 @@ class WebtoonsEpisodeExtractor(WebtoonsBase, GalleryExtractor):
|
|
|
|
self.episode_no = params.get("episode_no")
|
|
|
|
self.episode_no = params.get("episode_no")
|
|
|
|
|
|
|
|
|
|
|
|
def metadata(self, page):
|
|
|
|
def metadata(self, page):
|
|
|
|
keywords, pos = text.extract(
|
|
|
|
extr = text.extract_from(page)
|
|
|
|
page, '<meta name="keywords" content="', '"')
|
|
|
|
keywords = extr('<meta name="keywords" content="', '"').split(", ")
|
|
|
|
title, pos = text.extract(
|
|
|
|
title = extr('<meta property="og:title" content="', '"')
|
|
|
|
page, '<meta property="og:title" content="', '"', pos)
|
|
|
|
descr = extr('<meta property="og:description" content="', '"')
|
|
|
|
descr, pos = text.extract(
|
|
|
|
|
|
|
|
page, '<meta property="og:description" content="', '"', pos)
|
|
|
|
if extr('<div class="author_area"', '\n'):
|
|
|
|
|
|
|
|
username = extr('/creator/', '"')
|
|
|
|
|
|
|
|
author_name = extr('<span>', '</span>')
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
username = author_name = ""
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
"genre" : self.genre,
|
|
|
|
"genre" : self.genre,
|
|
|
@ -100,7 +104,11 @@ class WebtoonsEpisodeExtractor(WebtoonsBase, GalleryExtractor):
|
|
|
|
"title_no" : self.title_no,
|
|
|
|
"title_no" : self.title_no,
|
|
|
|
"episode_no" : self.episode_no,
|
|
|
|
"episode_no" : self.episode_no,
|
|
|
|
"title" : text.unescape(title),
|
|
|
|
"title" : text.unescape(title),
|
|
|
|
"episode" : keywords.split(", ")[1],
|
|
|
|
"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),
|
|
|
|
"description" : text.unescape(descr),
|
|
|
|
"lang" : self.lang,
|
|
|
|
"lang" : self.lang,
|
|
|
|
"language" : util.code_to_language(self.lang),
|
|
|
|
"language" : util.code_to_language(self.lang),
|
|
|
|