diff options
Diffstat (limited to 'youtube_dl/extractor/facebook.py')
| -rw-r--r-- | youtube_dl/extractor/facebook.py | 15 | 
1 files changed, 15 insertions, 0 deletions
diff --git a/youtube_dl/extractor/facebook.py b/youtube_dl/extractor/facebook.py index 9b87b37ae..6eaa22d89 100644 --- a/youtube_dl/extractor/facebook.py +++ b/youtube_dl/extractor/facebook.py @@ -129,6 +129,21 @@ class FacebookIE(InfoExtractor):          'only_matching': True,      }] +    @staticmethod +    def _extract_url(webpage): +        mobj = re.search( +            r'<iframe[^>]+?src=(["\'])(?P<url>https://www\.facebook\.com/video/embed.+?)\1', webpage) +        if mobj is not None: +            return mobj.group('url') + +        # Facebook API embed +        # see https://developers.facebook.com/docs/plugins/embedded-video-player +        mobj = re.search(r'''(?x)<div[^>]+ +                class=(?P<q1>[\'"])[^\'"]*\bfb-video\b[^\'"]*(?P=q1)[^>]+ +                data-href=(?P<q2>[\'"])(?P<url>[^\'"]+)(?P=q2)''', webpage) +        if mobj is not None: +            return mobj.group('url') +      def _login(self):          (useremail, password) = self._get_login_info()          if useremail is None:  | 
