[Restudy] Add new extractor for restudy.dk

pull/8/head
Mathias Rav 2014-12-13 21:58:52 +01:00
rodzic 1fa174692a
commit 4a0132c570
2 zmienionych plików z 42 dodań i 0 usunięć

Wyświetl plik

@ -316,6 +316,7 @@ from .radiofrance import RadioFranceIE
from .rai import RaiIE
from .rbmaradio import RBMARadioIE
from .redtube import RedTubeIE
from .restudy import RestudyIE
from .reverbnation import ReverbNationIE
from .ringtv import RingTVIE
from .ro220 import Ro220IE

Wyświetl plik

@ -0,0 +1,41 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class RestudyIE(InfoExtractor):
_VALID_URL = r'https://www.restudy.dk/video/play/id/(?P<id>[0-9]+)'
_TEST = {
'url': 'https://www.restudy.dk/video/play/id/1637',
# MD5 sum of first 10241 bytes of the video file, as reported by
# head -c 10241 Leiden-frosteffekt-1637.mp4 | md5sum
'md5': '4e755c4287f292a1fe5363834a683818',
'info_dict': {
'id': '1637',
'ext': 'mp4',
'title': 'Leiden-frosteffekt',
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
xml_url = (
'https://www.restudy.dk/awsmedia/SmilDirectory/video_%s.xml'
% video_id)
xml = self._download_webpage(xml_url, video_id)
base = self._search_regex(
r'<meta base="([^"]+)', xml, 'meta base')
# TODO: Provide multiple video qualities instead of forcing highest
filename = self._search_regex(
r'<video src="mp4:([^"]+_high\.mp4)', xml, 'filename')
url = '%s%s' % (base, filename)
title = self._og_search_title(webpage)
return {
'id': video_id,
'title': title,
'url': url,
'protocol': 'rtmp',
}