projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
08e45b3
)
[instagram] Fix description, timestamp and counters extraction (closes #14755)
author
Sergey M․
<dstftw@gmail.com>
Wed, 15 Nov 2017 15:14:54 +0000
(22:14 +0700)
committer
Sergey M․
<dstftw@gmail.com>
Wed, 15 Nov 2017 15:14:54 +0000
(22:14 +0700)
youtube_dl/extractor/instagram.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/instagram.py
b/youtube_dl/extractor/instagram.py
index 20db31f866c89a10e1772baa27dd7b90eba31e21..a77f619d291ba4e02ecdc2c785795229fd0de2ca 100644
(file)
--- a/
youtube_dl/extractor/instagram.py
+++ b/
youtube_dl/extractor/instagram.py
@@
-130,13
+130,21
@@
class InstagramIE(InfoExtractor):
video_url = media.get('video_url')
height = int_or_none(media.get('dimensions', {}).get('height'))
width = int_or_none(media.get('dimensions', {}).get('width'))
video_url = media.get('video_url')
height = int_or_none(media.get('dimensions', {}).get('height'))
width = int_or_none(media.get('dimensions', {}).get('width'))
- description = media.get('caption')
+ description = try_get(
+ media, lambda x: x['edge_media_to_caption']['edges'][0]['node']['text'],
+ compat_str) or media.get('caption')
thumbnail = media.get('display_src')
thumbnail = media.get('display_src')
- timestamp = int_or_none(media.get('date'))
+ timestamp = int_or_none(media.get('
taken_at_timestamp') or media.get('
date'))
uploader = media.get('owner', {}).get('full_name')
uploader_id = media.get('owner', {}).get('username')
uploader = media.get('owner', {}).get('full_name')
uploader_id = media.get('owner', {}).get('username')
- like_count = int_or_none(media.get('likes', {}).get('count'))
- comment_count = int_or_none(media.get('comments', {}).get('count'))
+
+ def get_count(key, kind):
+ return int_or_none(try_get(
+ media, (lambda x: x['edge_media_%s' % key]['count'],
+ lambda x: x['%ss' % kind]['count'])))
+ like_count = get_count('preview_like', 'like')
+ comment_count = get_count('to_comment', 'comment')
+
comments = [{
'author': comment.get('user', {}).get('username'),
'author_id': comment.get('user', {}).get('id'),
comments = [{
'author': comment.get('user', {}).get('username'),
'author_id': comment.get('user', {}).get('id'),