|
|
@ -22,6 +22,10 @@ class RecurbateIE(InfoExtractor):
|
|
|
|
'skip': 'Free videos are available for a limited amount of time and for a single session.',
|
|
|
|
'skip': 'Free videos are available for a limited amount of time and for a single session.',
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
|
|
def raise_login_required(msg='Login required: use --cookies to pass your browser's login cookie, or try again later'):
|
|
|
|
|
|
|
|
raise ExtractorError(msg, expected=True)
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
def _real_extract(self, url):
|
|
|
|
video_id = self._match_id(url)
|
|
|
|
video_id = self._match_id(url)
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
@ -31,9 +35,7 @@ class RecurbateIE(InfoExtractor):
|
|
|
|
get_url = update_url_query('https://recurbate.com/api/get.php', {'video': video_id, 'token': token})
|
|
|
|
get_url = update_url_query('https://recurbate.com/api/get.php', {'video': video_id, 'token': token})
|
|
|
|
video_webpage = self._download_webpage(get_url, video_id)
|
|
|
|
video_webpage = self._download_webpage(get_url, video_id)
|
|
|
|
if 'shall_signin' in video_webpage[:20]:
|
|
|
|
if 'shall_signin' in video_webpage[:20]:
|
|
|
|
raise ExtractorError(
|
|
|
|
self.raise_login_required()
|
|
|
|
"Login required: use --cookies to pass your browser's login cookie, or try again later",
|
|
|
|
|
|
|
|
expected=True)
|
|
|
|
|
|
|
|
entries = self._parse_html5_media_entries(get_url, video_webpage, video_id)
|
|
|
|
entries = self._parse_html5_media_entries(get_url, video_webpage, video_id)
|
|
|
|
if not entries:
|
|
|
|
if not entries:
|
|
|
|
raise ExtractorError('No media links found')
|
|
|
|
raise ExtractorError('No media links found')
|
|
|
|