|
|
@ -20,6 +20,7 @@ from ..utils import ( |
|
|
|
parse_duration, |
|
|
|
parse_iso8601, |
|
|
|
parse_age_limit, |
|
|
|
strip_or_none, |
|
|
|
int_or_none, |
|
|
|
ExtractorError, |
|
|
|
) |
|
|
@ -129,6 +130,9 @@ class CBCIE(InfoExtractor): |
|
|
|
def _real_extract(self, url): |
|
|
|
display_id = self._match_id(url) |
|
|
|
webpage = self._download_webpage(url, display_id) |
|
|
|
title = self._og_search_title(webpage, default=None) or self._html_search_meta( |
|
|
|
'twitter:title', webpage, 'title', default=None) or self._html_search_regex( |
|
|
|
r'<title>([^<]+)</title>', webpage, 'title', fatal=False) |
|
|
|
entries = [ |
|
|
|
self._extract_player_init(player_init, display_id) |
|
|
|
for player_init in re.findall(r'CBC\.APP\.Caffeine\.initInstance\(({.+?})\);', webpage)] |
|
|
@ -136,8 +140,7 @@ class CBCIE(InfoExtractor): |
|
|
|
self.url_result('cbcplayer:%s' % media_id, 'CBCPlayer', media_id) |
|
|
|
for media_id in re.findall(r'<iframe[^>]+src="[^"]+?mediaId=(\d+)"', webpage)]) |
|
|
|
return self.playlist_result( |
|
|
|
entries, display_id, |
|
|
|
self._og_search_title(webpage, fatal=False), |
|
|
|
entries, display_id, strip_or_none(title), |
|
|
|
self._og_search_description(webpage)) |
|
|
|
|
|
|
|
|
|
|
|