# -*- coding: utf-8 -*- # Copyright 2019-2023 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 # published by the Free Software Foundation. """Extractors for https://news.sankakucomplex.com/""" from .common import Extractor, Message from .. import text, util import re class SankakucomplexExtractor(Extractor): """Base class for sankakucomplex extractors""" category = "sankakucomplex" root = "https://news.sankakucomplex.com" def __init__(self, match): Extractor.__init__(self, match) self.path = match.group(1) class SankakucomplexArticleExtractor(SankakucomplexExtractor): """Extractor for articles on news.sankakucomplex.com""" subcategory = "article" directory_fmt = ("{category}", "{date:%Y-%m-%d} {title}") filename_fmt = "{filename}.{extension}" archive_fmt = "{date:%Y%m%d}_{filename}" pattern = (r"(?:https?://)?(?:news|www)\.sankakucomplex\.com" r"/(\d\d\d\d/\d\d/\d\d/[^/?#]+)") example = "https://news.sankakucomplex.com/1970/01/01/TITLE" def items(self): url = "{}/{}/?pg=X".format(self.root, self.path) extr = text.extract_from(self.request(url).text) data = { "title" : text.unescape( extr('property="og:title" content="', '"')), "description": text.unescape( extr('property="og:description" content="', '"')), "date" : text.parse_datetime( extr('property="article:published_time" content="', '"')), } content = extr('