From e3b9f885404cfa7a53b548605216d08c6ea46e53 Mon Sep 17 00:00:00 2001
From: FollieHiyuki Chapters, Manga
+
+
Manganelo
+ https://manganelo.com/
+ Chapters, Manga
+
+
'),
+ ), values=data)
+ data["author"] = text.remove_html(data["author"])
+ return data
+
+
+class ManganeloChapterExtractor(ManganeloBase, ChapterExtractor):
+ """Extractor for manga-chapters from manganelo.com"""
+ pattern = (r"(?:https?://)?(?:www\.)?manganelo\.com"
+ r"(/chapter/\w+/chapter_[^/?#]+)")
+ test = (
+ ("https://manganelo.com/chapter/gq921227/chapter_23", {
+ "pattern": r"https://s\d+\.\w+\.com/mangakakalot/g\d+/gq921227/"
+ r"vol3_chapter_23_24_yen/\d+\.jpg",
+ "keyword": "3748087cf41abc97f991530e6fd53b291490d6d0",
+ "count": 25,
+ }),
+ ("https://manganelo.com/chapter/gamers/chapter_15", {
+ "keyword": "8f59f88d516247011fe122e05746c27e203c8191",
+ "content": "fbec629c71f66b246bfa0604204407c0d1c8ae38",
+ "count": 39,
+ }),
+ )
+
+ def __init__(self, match):
+ self.path = match.group(1)
+ ChapterExtractor.__init__(self, match, self.root + self.path)
+ self.session.headers['Referer'] = self.root
+
+ def metadata(self, page):
+ _ , pos = text.extract(page, '')
+ manga , pos = text.extract(page, '', pos)
+ info , pos = text.extract(page, '', pos)
+ author, pos = text.extract(page, '- Author(s) : ', 'MangaPark
https://mangapark.net/
diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py
index e43fa64b..3d615151 100644
--- a/gallery_dl/extractor/__init__.py
+++ b/gallery_dl/extractor/__init__.py
@@ -69,6 +69,7 @@ modules = [
"mangafox",
"mangahere",
"mangakakalot",
+ "manganelo",
"mangapark",
"mangoxo",
"myhentaigallery",
diff --git a/gallery_dl/extractor/manganelo.py b/gallery_dl/extractor/manganelo.py
new file mode 100644
index 00000000..882031b4
--- /dev/null
+++ b/gallery_dl/extractor/manganelo.py
@@ -0,0 +1,119 @@
+# -*- coding: utf-8 -*-
+
+# 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.
+
+"""Extract manga-chapters and entire manga from https://manganelo.com/"""
+
+from .common import ChapterExtractor, MangaExtractor
+from .. import text
+import re
+
+
+class ManganeloBase():
+ """Base class for manganelo extractors"""
+ category = "manganelo"
+ root = "https://manganelo.com"
+
+ @staticmethod
+ def parse_page(page, data):
+ """Parse metadata on 'page' and add it to 'data'"""
+ text.extract_all(page, (
+ ("manga" , '', '
'),
+ ('author' , 'Author(s) :', '