1
0
Fork 0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-11-25 03:32:05 +00:00

[facebook] add support for watch videos(closes #22795)

This commit is contained in:
Remita Amine 2020-12-11 13:54:03 +01:00
parent 9f88b07945
commit dc65041c22

View file

@ -41,7 +41,8 @@ class FacebookIE(InfoExtractor):
photo\.php| photo\.php|
video\.php| video\.php|
video/embed| video/embed|
story\.php story\.php|
watch/?
)\?(?:.*?)(?:v|video_id|story_fbid)=| )\?(?:.*?)(?:v|video_id|story_fbid)=|
[^/]+/videos/(?:[^/]+/)?| [^/]+/videos/(?:[^/]+/)?|
[^/]+/posts/| [^/]+/posts/|
@ -239,6 +240,20 @@ class FacebookIE(InfoExtractor):
'id': '106560053808006', 'id': '106560053808006',
}, },
'playlist_count': 2, 'playlist_count': 2,
}, {
# data.video_home_www_feed.video_home_sections.edges[].node.feed_section_renderer.section.section_components.edges[].node.feed_unit.attachments
'url': 'https://www.facebook.com/watch/?v=125475412191640',
'md5': 'a38bed45dd1b2881ea230f3561c914b7',
'info_dict': {
'id': '373249263226147',
'ext': 'mp4',
'title': 'شوف بعينيك ماذا يحدث...ماناش نخوف فيكم رانا ننقل لكم مايحدث...',
'description': 'شوف بعينيك ماذا يحدث خويا العزيز...ماناش نخوف فيكم رانا ننقل لكم مايحدث...\nتذكروا جيدا ماكنا نقوله لكم منذ سنوات وماكنا نحذركم .',
'timestamp': 1550353963,
'upload_date': '20190216',
'uploader_id': '176917942440142',
},
'skip': 'Requires logging in',
}] }]
@staticmethod @staticmethod
@ -425,6 +440,14 @@ class FacebookIE(InfoExtractor):
for edge in edges: for edge in edges:
parse_attachment(edge, key='node') parse_attachment(edge, key='node')
video_home_sections = try_get(data, lambda x: x['video_home_www_feed']['video_home_sections']['edges'], list) or []
for video_home_section in video_home_sections:
section_components = try_get(video_home_section, lambda x: x['node']['feed_section_renderer']['section']['section_components']['edges'], list) or []
for section_component in section_components:
attachments = try_get(section_component, lambda x: x['node']['feed_unit']['attachments'], list) or []
for attachment in attachments:
parse_attachment(attachment)
if not entries: if not entries:
video = data.get('video') or {} video = data.get('video') or {}
if video: if video: