diff --git a/docs/configuration.rst b/docs/configuration.rst index d6a80048..039db006 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -3437,6 +3437,16 @@ Description Note: Not supported by all ``moebooru`` instances. +extractor.naver.videos +---------------------- +Type + ``bool`` +Default + ``true`` +Description + Download videos. + + extractor.newgrounds.flash -------------------------- Type diff --git a/docs/gallery-dl.conf b/docs/gallery-dl.conf index 884976d5..b8b46d63 100644 --- a/docs/gallery-dl.conf +++ b/docs/gallery-dl.conf @@ -420,6 +420,10 @@ "username": "", "password": "" }, + "naver": + { + "videos": true + }, "newgrounds": { "username": "", diff --git a/gallery_dl/extractor/naver.py b/gallery_dl/extractor/naver.py index d3150e6d..22873255 100644 --- a/gallery_dl/extractor/naver.py +++ b/gallery_dl/extractor/naver.py @@ -9,7 +9,9 @@ """Extractors for https://blog.naver.com/""" from .common import GalleryExtractor, Extractor, Message -from .. import text +from .. import text, util +import datetime +import time class NaverBase(): @@ -59,19 +61,66 @@ class NaverPostExtractor(NaverBase, GalleryExtractor): "user" : extr("var nickName = '", "'"), }, } - data["post"]["date"] = text.parse_datetime( + + data["post"]["date"] = self._parse_datetime( extr('se_publishDate pcol2">', '<') or - extr('_postAddDate">', '<'), "%Y. %m. %d. %H:%M") + extr('_postAddDate">', '<')) + return data + def _parse_datetime(self, date_string): + if "전" in date_string: + ts = time.gmtime() + return datetime.datetime(ts.tm_year, ts.tm_mon, ts.tm_mday) + return text.parse_datetime(date_string, "%Y. %m. %d. %H:%M") + def images(self, page): - results = [] + files = [] + self._extract_images(files, page) + if self.config("videos", True): + self._extract_videos(files, page) + return files + + def _extract_images(self, files, page): for url in text.extract_iter(page, 'data-lazy-src="', '"'): url = url.replace("://post", "://blog", 1).partition("?")[0] if "\ufffd" in text.unquote(url): url = text.unquote(url, encoding="EUC-KR") - results.append((url, None)) - return results + files.append((url, None)) + + def _extract_videos(self, files, page): + for module in text.extract_iter(page, " data-module='", "'>