diff options
Diffstat (limited to 'gallery_dl/extractor/naverwebtoon.py')
| -rw-r--r-- | gallery_dl/extractor/naverwebtoon.py | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/gallery_dl/extractor/naverwebtoon.py b/gallery_dl/extractor/naverwebtoon.py index 4137f5d..3211941 100644 --- a/gallery_dl/extractor/naverwebtoon.py +++ b/gallery_dl/extractor/naverwebtoon.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Copyright 2021 Seonghyeon Cho -# Copyright 2022-2033 Mike Fährmann +# Copyright 2022-2025 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -16,13 +16,13 @@ BASE_PATTERN = (r"(?:https?://)?comic\.naver\.com" r"/(webtoon|challenge|bestChallenge)") -class NaverwebtoonBase(): - """Base class for naver webtoon extractors""" - category = "naverwebtoon" +class NaverWebtoonBase(): + """Base class for comic.naver.com extractors""" + category = "naver-webtoon" root = "https://comic.naver.com" -class NaverwebtoonEpisodeExtractor(NaverwebtoonBase, GalleryExtractor): +class NaverWebtoonEpisodeExtractor(NaverWebtoonBase, GalleryExtractor): subcategory = "episode" directory_fmt = ("{category}", "{comic}") filename_fmt = "{episode:>03}-{num:>02}.{extension}" @@ -32,7 +32,7 @@ class NaverwebtoonEpisodeExtractor(NaverwebtoonBase, GalleryExtractor): def __init__(self, match): path, query = match.groups() - url = "{}/{}/detail?{}".format(self.root, path, query) + url = f"{self.root}/{path}/detail?{query}" GalleryExtractor.__init__(self, match, url) query = text.parse_query(query) @@ -54,8 +54,7 @@ class NaverwebtoonEpisodeExtractor(NaverwebtoonBase, GalleryExtractor): extr('"painters":[', ']'), '"name":"', '"')] } - @staticmethod - def images(page): + def images(self, page): view_area = text.extr(page, 'id="comic_view_area"', '</div>') return [ (url, None) @@ -64,7 +63,7 @@ class NaverwebtoonEpisodeExtractor(NaverwebtoonBase, GalleryExtractor): ] -class NaverwebtoonComicExtractor(NaverwebtoonBase, Extractor): +class NaverWebtoonComicExtractor(NaverWebtoonBase, Extractor): subcategory = "comic" categorytransfer = True pattern = BASE_PATTERN + r"/list(?:\.nhn)?\?([^#]+)" @@ -90,14 +89,13 @@ class NaverwebtoonComicExtractor(NaverwebtoonBase, Extractor): } while True: - data = self.request(url, headers=headers, params=params).json() + data = self.request_json(url, headers=headers, params=params) path = data["webtoonLevelCode"].lower().replace("_c", "C", 1) - base = "{}/{}/detail?titleId={}&no=".format( - self.root, path, data["titleId"]) + base = f"{self.root}/{path}/detail?titleId={data['titleId']}&no=" for article in data["articleList"]: - article["_extractor"] = NaverwebtoonEpisodeExtractor + article["_extractor"] = NaverWebtoonEpisodeExtractor yield Message.Queue, base + str(article["no"]), article params["page"] = data["pageInfo"]["nextPage"] |
