aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoru-spec-png <54671367+u-spec-png@users.noreply.github.com>2021-11-04 03:22:10 +0000
committerGitHub <noreply@github.com>2021-11-04 08:52:10 +0530
commit22cd06c4527ec74259e7277eeb64c7429cc2c6d7 (patch)
tree6c7e6f2096103a01d815c519ae67c2163c33bddd
parenta4211baff55f72bd1ca0649407c3d134bfcd2646 (diff)
downloadhypervideo-pre-22cd06c4527ec74259e7277eeb64c7429cc2c6d7.tar.lz
hypervideo-pre-22cd06c4527ec74259e7277eeb64c7429cc2c6d7.tar.xz
hypervideo-pre-22cd06c4527ec74259e7277eeb64c7429cc2c6d7.zip
[Instagram] Improve thumbnail extraction (#1496)
Authored by: u-spec-png
-rw-r--r--yt_dlp/extractor/instagram.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/yt_dlp/extractor/instagram.py b/yt_dlp/extractor/instagram.py
index 4eca9eb92..c4036d096 100644
--- a/yt_dlp/extractor/instagram.py
+++ b/yt_dlp/extractor/instagram.py
@@ -234,7 +234,9 @@ class InstagramIE(InstagramBaseIE):
media, lambda x: x['edge_media_to_caption']['edges'][0]['node']['text'],
compat_str) or media.get('caption')
title = media.get('title')
- thumbnail = media.get('display_src') or media.get('display_url')
+ display_resources = media.get('display_resources')
+ if not display_resources:
+ display_resources = [{'src': media.get('display_src')}, {'src': media.get('display_url')}]
duration = float_or_none(media.get('video_duration'))
timestamp = int_or_none(media.get('taken_at_timestamp') or media.get('date'))
uploader = try_get(media, lambda x: x['owner']['full_name'])
@@ -252,6 +254,12 @@ class InstagramIE(InstagramBaseIE):
comment_count = get_count(
('preview_comment', 'to_comment', 'to_parent_comment'), 'comment')
+ thumbnails = [{
+ 'url': thumbnail['src'],
+ 'width': thumbnail.get('config_width'),
+ 'height': thumbnail.get('config_height'),
+ } for thumbnail in display_resources if thumbnail.get('src')]
+
comments = []
for comment in try_get(media, lambda x: x['edge_media_to_parent_comment']['edges']):
comment_dict = comment.get('node', {})
@@ -326,7 +334,7 @@ class InstagramIE(InstagramBaseIE):
'title': title or 'Video by %s' % uploader_id,
'description': description,
'duration': duration,
- 'thumbnail': thumbnail,
+ 'thumbnails': thumbnails,
'timestamp': timestamp,
'uploader_id': uploader_id,
'uploader': uploader,