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:
parent
9f88b07945
commit
dc65041c22
1 changed files with 24 additions and 1 deletions
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue