diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index 8f54b157..003dcaa9 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -889,6 +889,12 @@ Consider all sites to be NSFW unless otherwise known.
Files |
|
+
+ | Urlgalleries |
+ https://urlgalleries.net/ |
+ Galleries |
+ |
+
| Vipergirls |
https://vipergirls.to/ |
diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py
index 72239d5c..d074de22 100644
--- a/gallery_dl/extractor/__init__.py
+++ b/gallery_dl/extractor/__init__.py
@@ -155,6 +155,7 @@ modules = [
"tumblrgallery",
"twibooru",
"twitter",
+ "urlgalleries",
"unsplash",
"uploadir",
"urlshortener",
diff --git a/gallery_dl/extractor/urlgalleries.py b/gallery_dl/extractor/urlgalleries.py
new file mode 100644
index 00000000..ae2b7205
--- /dev/null
+++ b/gallery_dl/extractor/urlgalleries.py
@@ -0,0 +1,43 @@
+# -*- 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.
+
+"""Extractors for https://urlgalleries.net/"""
+
+from .common import GalleryExtractor
+from .. import text
+
+
+class UrlgalleriesExtractor(GalleryExtractor):
+ """Base class for Urlgalleries extractors"""
+ category = "urlgalleries"
+ root = "urlgalleries.net"
+ directory_fmt = ("{category}", "{title}")
+ pattern = r"(?:https?://)([^/?#]+)?\.urlgalleries\.net/([^/?#]+)/([^/?#]+)"
+ example = "https://blog.urlgalleries.net/gallery-1234567/a-title--1234"
+
+ def __init__(self, match):
+ self.blog = match.group(1)
+ self.gallery_id = match.group(2)
+ self.title = match.group(3)
+ url = "{}.urlgalleries.net/{}/{}&a=10000".format(
+ self.blog, self.gallery_id, self.title)
+ GalleryExtractor.__init__(self, match, text.ensure_http_scheme(url))
+
+ def images(self, page):
+ extr = text.extr(page, 'id="wtf"', "")
+ url = "{}{{}}".format(self.root).format
+ return [
+ (text.ensure_http_scheme(url(i)), None)
+ for i in text.extract_iter(extr, "href='", "'")
+ ]
+
+ def metadata(self, page):
+ date = text.extr(
+ page, "float:left;'> ", '').split(" | ")[-1]
+ return {
+ 'title': self.title,
+ 'date': text.parse_datetime(date, format='%B %d, %Y T%H:%M')
+ }