diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index 477f4a45..2f3a9420 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -490,7 +490,7 @@ Consider all sites to be NSFW unless otherwise known.
| Newgrounds |
https://www.newgrounds.com/ |
- Art, Audio, Favorites, individual Images, Media Files, Movies, User Profiles |
+ Art, Audio, Favorites, individual Images, Media Files, Movies, Search Results, User Profiles |
Supported |
diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py
index 4351b3ed..8bcbc204 100644
--- a/gallery_dl/extractor/newgrounds.py
+++ b/gallery_dl/extractor/newgrounds.py
@@ -38,6 +38,7 @@ class NewgroundsExtractor(Extractor):
def items(self):
self.login()
+ metadata = self.metadata()
for post_url in self.posts():
try:
@@ -48,6 +49,8 @@ class NewgroundsExtractor(Extractor):
url = None
if url:
+ if metadata:
+ post.update(metadata)
yield Message.Directory, post
yield Message.Url, url, text.nameext_from_url(url, post)
@@ -62,9 +65,12 @@ class NewgroundsExtractor(Extractor):
"Unable to get download URL for '%s'", post_url)
def posts(self):
- """Return urls of all relevant image pages"""
+ """Return URLs of all relevant post pages"""
return self._pagination(self._path)
+ def metadata(self):
+ """Return general metadata"""
+
def login(self):
username, password = self._get_auth_info()
if username:
@@ -493,3 +499,59 @@ class NewgroundsFollowingExtractor(NewgroundsFavoriteExtractor):
text.ensure_http_scheme(user.rpartition('"')[2])
for user in text.extract_iter(page, 'class="item-user', '">![]()