|
|
|
@ -17,7 +17,12 @@ from ..utils import (
|
|
|
|
|
class FacebookIE(InfoExtractor):
|
|
|
|
|
"""Information Extractor for Facebook"""
|
|
|
|
|
|
|
|
|
|
_VALID_URL = r'^(?:https?://)?(?:\w+\.)?facebook\.com/(?:[^#?]*#!/)?(?:video/video|photo)\.php\?(?:.*?)v=(?P<ID>\d+)(?:.*)'
|
|
|
|
|
_VALID_URL = r'''(?x)
|
|
|
|
|
(?:https?://)?(?:\w+\.)?facebook\.com/
|
|
|
|
|
(?:[^#?]*\#!/)?
|
|
|
|
|
(?:video/video\.php|photo\.php|video/embed)\?(?:.*?)
|
|
|
|
|
(?:v|video_id)=(?P<id>[0-9]+)
|
|
|
|
|
(?:.*)'''
|
|
|
|
|
_LOGIN_URL = 'https://www.facebook.com/login.php?next=http%3A%2F%2Ffacebook.com%2Fhome.php&login_attempt=1'
|
|
|
|
|
_CHECKPOINT_URL = 'https://www.facebook.com/checkpoint/?next=http%3A%2F%2Ffacebook.com%2Fhome.php&_fb_noscript=1'
|
|
|
|
|
_NETRC_MACHINE = 'facebook'
|
|
|
|
@ -90,7 +95,7 @@ class FacebookIE(InfoExtractor):
|
|
|
|
|
mobj = re.match(self._VALID_URL, url)
|
|
|
|
|
if mobj is None:
|
|
|
|
|
raise ExtractorError(u'Invalid URL: %s' % url)
|
|
|
|
|
video_id = mobj.group('ID')
|
|
|
|
|
video_id = mobj.group('id')
|
|
|
|
|
|
|
|
|
|
url = 'https://www.facebook.com/video/video.php?v=%s' % video_id
|
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
|
|