ustreamIE

This commit is contained in:
Jaime Marquínez Ferrándiz 2013-01-01 17:52:46 +01:00
parent 6535e9511f
commit 278986ea0f
3 changed files with 38 additions and 0 deletions

View File

@ -115,5 +115,13 @@
"info_dict": {
"title": "Terraria 1.1 Trailer"
}
},
{
"name": "Ustream",
"url": "http://www.ustream.tv/recorded/20274954",
"files": [["20274954.flv", "088f151799e8f572f84eb62f17d73e5c" ]],
"info_dict": {
"title": "Young Americans for Liberty February 7, 2012 2:28 AM"
}
}
]

View File

@ -3805,3 +3805,32 @@ def _real_extract(self, url):
}
videos.append(info)
return videos
class UstreamIE(InfoExtractor):
_VALID_URL = r'http://www.ustream.tv/recorded/(?P<videoID>\d+)'
IE_NAME = u'ustream'
def _real_extract(self, url):
m = re.match(self._VALID_URL, url)
video_id = m.group('videoID')
video_url = u'http://tcdn.ustream.tv/video/%s' % video_id
try:
urlh = compat_urllib_request.urlopen(url)
webpage_bytes = urlh.read()
webpage = webpage_bytes.decode('utf-8', 'ignore')
except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
self._downloader.trouble(u'ERROR: unable to download webpage: %s' % compat_str(err))
return
m = re.search(r'data-title="(?P<title>.+)"',webpage)
title = m.group('title')
m = re.search(r'<a class="state" data-content-type="channel" data-content-id="(?P<uploader>\d+)"',webpage)
uploader = m.group('uploader')
info = {
'id':video_id,
'url':video_url,
'ext': 'flv',
'title': title,
'uploader': uploader
}
return [info]
pass

View File

@ -314,6 +314,7 @@ def gen_extractors():
FunnyOrDieIE(),
TweetReelIE(),
SteamIE(),
UstreamIE(),
GenericIE()
]