From 6737499dbd939902f1fd14ea073b67a9d6d5db61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 21 Sep 2022 20:46:44 +0200 Subject: [PATCH] [instagram] use REST API endpoint for saved posts (#2911) provides 'username' and 'fullname' as well as higher-quality images --- gallery_dl/extractor/instagram.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gallery_dl/extractor/instagram.py b/gallery_dl/extractor/instagram.py index 8c75ccb4..51e3d6b7 100644 --- a/gallery_dl/extractor/instagram.py +++ b/gallery_dl/extractor/instagram.py @@ -514,13 +514,16 @@ class InstagramChannelExtractor(InstagramExtractor): class InstagramSavedExtractor(InstagramExtractor): """Extractor for ProfilePage saved media""" subcategory = "saved" - pattern = USER_PATTERN + r"/saved/?$" - test = ("https://www.instagram.com/instagram/saved/",) + pattern = USER_PATTERN + r"/saved(?:/all-posts)?/?$" + test = ( + ("https://www.instagram.com/instagram/saved/"), + ("https://www.instagram.com/instagram/saved/all-posts/"), + ) def posts(self): - query_hash = "2ce1d673055b99250e93b6f88f878fde" - variables = {"id": self._uid_by_screen_name(self.item), "first": 50} - return self._pagination_graphql(query_hash, variables) + endpoint = "/v1/feed/saved/posts/" + for item in self._pagination_api(endpoint): + yield item["media"] class InstagramCollectionExtractor(InstagramExtractor):