diff --git a/docs/supportedsites.rst b/docs/supportedsites.rst index 0103c9b8..a917c421 100644 --- a/docs/supportedsites.rst +++ b/docs/supportedsites.rst @@ -33,6 +33,7 @@ Dynasty Reader https://dynasty-scans.com/ Chapters, individual Im E-Hentai https://e-hentai.org/ Favorites, Galleries, Search Results Supported e621 https://e621.net/ Pools, Popular Images, Posts, Tag Searches Supported Eka's Portal https://aryion.com/ Galleries, Posts Supported +EroMe https://www.erome.com/ Albums, Search Results, User Profiles ExHentai https://exhentai.org/ Favorites, Galleries, Search Results Supported Fallen Angels Scans https://www.fascans.com/ Chapters, Manga Fashion Nova https://www.fashionnova.com/ Collections, Products diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py index 337c621c..923a78b3 100644 --- a/gallery_dl/extractor/__init__.py +++ b/gallery_dl/extractor/__init__.py @@ -28,6 +28,7 @@ modules = [ "deviantart", "dynastyscans", "e621", + "erome", "exhentai", "fallenangels", "flickr", diff --git a/gallery_dl/extractor/erome.py b/gallery_dl/extractor/erome.py new file mode 100644 index 00000000..1c6ebb4c --- /dev/null +++ b/gallery_dl/extractor/erome.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- + +# Copyright 2021 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://www.erome.com/""" + +from .common import Extractor, Message +from .. import text, util +from ..cache import cache +import itertools +import time + +BASE_PATTERN = r"(?:https?://)?(?:www\.)?erome\.com" + + +class EromeExtractor(Extractor): + category = "erome" + directory_fmt = ("{category}", "{user}") + filename_fmt = "{album_id} {title} {num:>02}.{extension}" + archive_fmt = "{album_id}_{num}" + root = "https://www.erome.com" + + def __init__(self, match): + Extractor.__init__(self, match) + self.item = match.group(1) + self.__cookies = True + + def items(self): + for album_id in self.albums(): + url = "{}/a/{}".format(self.root, album_id) + page = self.request(url).text + + title, pos = text.extract( + page, 'property="og:title" content="', '"') + pos = page.index('