@@ -66,6 +66,7 @@ modules = [
|
||||
"hatenablog",
|
||||
"hentai2read",
|
||||
"hentaicosplays",
|
||||
"hentaiera",
|
||||
"hentaifoundry",
|
||||
"hentaifox",
|
||||
"hentaihand",
|
||||
|
||||
46
gallery_dl/extractor/hentaiera.py
Normal file
46
gallery_dl/extractor/hentaiera.py
Normal file
@@ -0,0 +1,46 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 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
|
||||
# published by the Free Software Foundation.
|
||||
|
||||
"""Extractors for https://hentaiera.com/"""
|
||||
|
||||
from . import imhentai
|
||||
|
||||
BASE_PATTERN = r"(?:https?://)?(?:www\.)?hentaiera\.com"
|
||||
|
||||
|
||||
class HentaieraExtractor():
|
||||
category = "hentaiera"
|
||||
root = "https://hentaiera.com"
|
||||
|
||||
|
||||
class HentaieraGalleryExtractor(
|
||||
HentaieraExtractor, imhentai.ImhentaiGalleryExtractor):
|
||||
"""Extractor for hentaiera galleries"""
|
||||
pattern = BASE_PATTERN + r"/(?:gallery|view)/(\d+)"
|
||||
example = "https://hentaiera.com/gallery/12345/"
|
||||
|
||||
|
||||
class HentaieraTagExtractor(
|
||||
HentaieraExtractor, imhentai.ImhentaiTagExtractor):
|
||||
"""Extractor for hentaiera tag searches"""
|
||||
subcategory = "tag"
|
||||
pattern = (BASE_PATTERN + r"(/(?:"
|
||||
r"artist|category|character|group|language|parody|tag"
|
||||
r")/([^/?#]+))")
|
||||
example = "https://hentaiera.com/tag/TAG/"
|
||||
|
||||
|
||||
class HentaieraSearchExtractor(
|
||||
HentaieraExtractor, imhentai.ImhentaiSearchExtractor):
|
||||
"""Extractor for hentaiera search results"""
|
||||
subcategory = "search"
|
||||
pattern = BASE_PATTERN + r"/search/?\?([^#]+)"
|
||||
example = "https://hentaiera.com/search/?key=QUERY"
|
||||
|
||||
|
||||
HentaieraExtractor._gallery_extractor = HentaieraGalleryExtractor
|
||||
@@ -61,12 +61,12 @@ class ImhentaiGalleryExtractor(ImhentaiExtractor, GalleryExtractor):
|
||||
"gallery_id": text.parse_int(self.gallery_id),
|
||||
"title" : text.unescape(extr("<h1>", "<")),
|
||||
"title_alt" : text.unescape(extr('class="subtitle">', "<")),
|
||||
"parody" : self._split(extr(">Parodies:</span>", "</li>")),
|
||||
"character" : self._split(extr(">Characters:</span>", "</li>")),
|
||||
"tags" : self._split(extr(">Tags:</span>", "</li>")),
|
||||
"artist" : self._split(extr(">Artists:</span>", "</li>")),
|
||||
"group" : self._split(extr(">Groups:</span>", "</li>")),
|
||||
"language" : self._split(extr(">Languages:</span>", "</li>")),
|
||||
"parody" : self._split(extr(">Parodies", "</li>")),
|
||||
"character" : self._split(extr(">Characters", "</li>")),
|
||||
"tags" : self._split(extr(">Tags", "</li>")),
|
||||
"artist" : self._split(extr(">Artists", "</li>")),
|
||||
"group" : self._split(extr(">Groups", "</li>")),
|
||||
"language" : self._split(extr(">Languages", "</li>")),
|
||||
"type" : extr("href='/category/", "/"),
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user