diff options
Diffstat (limited to 'gallery_dl/extractor/imagehosts.py')
| -rw-r--r-- | gallery_dl/extractor/imagehosts.py | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/gallery_dl/extractor/imagehosts.py b/gallery_dl/extractor/imagehosts.py index fe3afbb..abb6d10 100644 --- a/gallery_dl/extractor/imagehosts.py +++ b/gallery_dl/extractor/imagehosts.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2016-2020 Mike Fährmann +# Copyright 2016-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 @@ -19,9 +19,8 @@ class ImagehostImageExtractor(Extractor): basecategory = "imagehost" subcategory = "image" archive_fmt = "{token}" - https = False - method = "post" - params = "simple" + https = True + params = None cookies = None encoding = None @@ -30,6 +29,7 @@ class ImagehostImageExtractor(Extractor): self.page_url = "http{}://{}".format( "s" if self.https else "", match.group(1)) self.token = match.group(2) + if self.params == "simple": self.params = { "imgContinue": "Continue+to+image+...+", @@ -42,14 +42,11 @@ class ImagehostImageExtractor(Extractor): "adb": "1", "next": "Continue+to+image+...+", } - else: - self.params = {} - self.method = "get" def items(self): page = self.request( self.page_url, - method=self.method, + method=("POST" if self.params else "GET"), data=self.params, cookies=self.cookies, encoding=self.encoding, @@ -91,7 +88,7 @@ class ImxtoImageExtractor(ImagehostImageExtractor): "exception": exception.NotFoundError, }), ) - https = True + params = "simple" encoding = "utf-8" def __init__(self, match): @@ -122,7 +119,7 @@ class AcidimgImageExtractor(ImagehostImageExtractor): "keyword": "a8bb9ab8b2f6844071945d31f8c6e04724051f37", "content": "0c8768055e4e20e7c7259608b67799171b691140", }) - https = True + params = "simple" encoding = "utf-8" def get_info(self, page): @@ -143,7 +140,7 @@ class ImagevenueImageExtractor(ImagehostImageExtractor): "url": "46812995d557f2c6adf0ebd0e631e6e4e45facde", "content": "59ec819cbd972dd9a71f25866fbfc416f2f215b3", }) - params = None + https = False def get_info(self, page): url = text.extract(page, "SRC='", "'")[0] @@ -159,8 +156,6 @@ class ImagetwistImageExtractor(ImagehostImageExtractor): "keyword": "d1060a4c2e3b73b83044e20681712c0ffdd6cfef", "content": "0c8768055e4e20e7c7259608b67799171b691140", }) - https = True - params = None @property @memcache(maxage=3*3600) @@ -182,8 +177,6 @@ class ImgspiceImageExtractor(ImagehostImageExtractor): "keyword": "100e310a19a2fa22d87e1bbc427ecb9f6501e0c0", "content": "0c8768055e4e20e7c7259608b67799171b691140", }) - https = True - params = None def get_info(self, page): pos = page.find('id="imgpreview"') @@ -204,8 +197,6 @@ class PixhostImageExtractor(ImagehostImageExtractor): "keyword": "3bad6d59db42a5ebbd7842c2307e1c3ebd35e6b0", "content": "0c8768055e4e20e7c7259608b67799171b691140", }) - https = True - params = None cookies = {"pixhostads": "1", "pixhosttest": "1"} def get_info(self, page): @@ -224,8 +215,6 @@ class PostimgImageExtractor(ImagehostImageExtractor): "keyword": "2d05808d04e4e83e33200db83521af06e3147a84", "content": "cfaa8def53ed1a575e0c665c9d6d8cf2aac7a0ee", }) - https = True - params = None def get_info(self, page): url , pos = text.extract(page, 'id="main-image" src="', '"') @@ -243,8 +232,6 @@ class TurboimagehostImageExtractor(ImagehostImageExtractor): "keyword": "704757ca8825f51cec516ec44c1e627c1f2058ca", "content": "0c8768055e4e20e7c7259608b67799171b691140", }) - https = True - params = None def get_info(self, page): url = text.extract(page, 'src="', '"', page.index("<img "))[0] @@ -259,9 +246,24 @@ class ViprImageExtractor(ImagehostImageExtractor): "url": "88f6a3ecbf3356a11ae0868b518c60800e070202", "keyword": "c432e8a1836b0d97045195b745731c2b1bb0e771", }) - https = True - params = None def get_info(self, page): url = text.extract(page, '<img src="', '"')[0] return url, url + + +class ImgclickImageExtractor(ImagehostImageExtractor): + """Extractor for single images from imgclick.net""" + category = "imgclick" + pattern = r"(?:https?://)?((?:www\.)?imgclick\.net/([^/?#]+))" + test = ("http://imgclick.net/4tbrre1oxew9/test-_-_.png.html", { + "url": "b967f2d372ffb9f5d3a927c6dd560e120b10a808", + "keyword": "6895256143eab955622fc149aa367777a8815ba3", + "content": "0c8768055e4e20e7c7259608b67799171b691140", + }) + params = "complex" + + def get_info(self, page): + url , pos = text.extract(page, '<br><img src="', '"') + filename, pos = text.extract(page, 'alt="', '"', pos) + return url, filename |
