|
|
@ -3687,6 +3687,62 @@ class UstreamIE(InfoExtractor):
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return [info]
|
|
|
|
return [info]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class WorldStarHipHopIE(InfoExtractor):
|
|
|
|
|
|
|
|
_VALID_URL = r'http://(?:www|m)\.worldstar(?:candy|hiphop)\.com/videos/video\.php\?v=(?P<id>.*)'
|
|
|
|
|
|
|
|
IE_NAME = u'WorldStarHipHop'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
|
|
|
|
_src_url = r"""(http://hw-videos.*(?:mp4|flv))"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
webpage_src = compat_urllib_request.urlopen(url).read()
|
|
|
|
|
|
|
|
webpage_src = webpage_src.decode('utf-8')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mobj = re.search(_src_url, webpage_src)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m = re.match(self._VALID_URL, url)
|
|
|
|
|
|
|
|
video_id = m.group('id')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if mobj is not None:
|
|
|
|
|
|
|
|
video_url = mobj.group()
|
|
|
|
|
|
|
|
if 'mp4' in video_url:
|
|
|
|
|
|
|
|
ext = 'mp4'
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
ext = 'flv'
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
self._downloader.trouble(u'ERROR: Cannot find video url for %s' % video_id)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_title = r"""<title>(.*)</title>"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mobj = re.search(_title, webpage_src)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if mobj is not None:
|
|
|
|
|
|
|
|
title = mobj.group(1)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
title = 'World Start Hip Hop - %s' % time.ctime()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_thumbnail = r"""rel="image_src" href="(.*)" />"""
|
|
|
|
|
|
|
|
mobj = re.search(_thumbnail, webpage_src)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Getting thumbnail and if not thumbnail sets correct title for WSHH candy video.
|
|
|
|
|
|
|
|
if mobj is not None:
|
|
|
|
|
|
|
|
thumbnail = mobj.group(1)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
_title = r"""candytitles.*>(.*)</span>"""
|
|
|
|
|
|
|
|
mobj = re.search(_title, webpage_src)
|
|
|
|
|
|
|
|
if mobj is not None:
|
|
|
|
|
|
|
|
title = mobj.group(1)
|
|
|
|
|
|
|
|
thumbnail = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
results = [{
|
|
|
|
|
|
|
|
'id': video_id,
|
|
|
|
|
|
|
|
'url' : video_url,
|
|
|
|
|
|
|
|
'title' : title,
|
|
|
|
|
|
|
|
'thumbnail' : thumbnail,
|
|
|
|
|
|
|
|
'ext' : ext,
|
|
|
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
return results
|
|
|
|
|
|
|
|
|
|
|
|
class RBMARadioIE(InfoExtractor):
|
|
|
|
class RBMARadioIE(InfoExtractor):
|
|
|
|
_VALID_URL = r'https?://(?:www\.)?rbmaradio\.com/shows/(?P<videoID>[^/]+)$'
|
|
|
|
_VALID_URL = r'https?://(?:www\.)?rbmaradio\.com/shows/(?P<videoID>[^/]+)$'
|
|
|
|
|
|
|
|
|
|
|
@ -4249,6 +4305,7 @@ def gen_extractors():
|
|
|
|
GooglePlusIE(),
|
|
|
|
GooglePlusIE(),
|
|
|
|
ArteTvIE(),
|
|
|
|
ArteTvIE(),
|
|
|
|
NBAIE(),
|
|
|
|
NBAIE(),
|
|
|
|
|
|
|
|
WorldStarHipHopIE(),
|
|
|
|
JustinTVIE(),
|
|
|
|
JustinTVIE(),
|
|
|
|
FunnyOrDieIE(),
|
|
|
|
FunnyOrDieIE(),
|
|
|
|
SteamIE(),
|
|
|
|
SteamIE(),
|
|
|
|