The Daily Show Podcast support

This commit is contained in:
felix
2015-03-16 20:05:02 +01:00
parent 90183a46d8
commit 2e90dff2c2
3 changed files with 64 additions and 1 deletions

View File

@ -2,6 +2,7 @@ from __future__ import unicode_literals
import re
from .common import InfoExtractor
from .mtv import MTVServicesInfoExtractor
from ..compat import (
compat_str,
@ -272,3 +273,23 @@ class ComedyCentralShowsIE(MTVServicesInfoExtractor):
'title': show_name + ' ' + title,
'description': description,
}
class TheDailyShowPodcastIE(InfoExtractor):
_VALID_URL = r'(?P<scheme>https?:)?//thedailyshow\.cc\.com/podcast/(?P<id>[a-z\-]+)'
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
player_url = self._search_regex(r'<iframe(?:\s+[^>]+)?\s*src="((?:https?:)?//html5-player\.libsyn\.com/embed/episode/id/[0-9]+)', webpage, 'player URL')
if player_url.startswith('//'):
mobj = re.match(self._VALID_URL, url)
scheme = mobj.group('scheme')
if not scheme:
scheme = 'https:'
player_url = scheme + player_url
return {
'_type': 'url_transparent',
'url': player_url,
}