diff options
| author | Sergey M․ <dstftw@gmail.com> | 2015-03-28 22:09:05 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-03-28 22:09:05 +0600 | 
| commit | 79fd11ab8ecb706edc9a488590509386dc1ddcd9 (patch) | |
| tree | 419eb3e752b219b4d5a0f0cde26bd3323488935f | |
| parent | cb88671e37a9fbb964ee0b2ab46031195f2aab1e (diff) | |
| parent | ff79552f13efbfa87a814dd0a950aa797b08a5cd (diff) | |
Merge branch 'dhm' of https://github.com/ossi96/youtube-dl into ossi96-dhm
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/dhm.py | 53 | 
2 files changed, 54 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index d56eb6448..a65c0c25b 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -106,6 +106,7 @@ from .dbtv import DBTVIE  from .dctp import DctpTvIE  from .deezer import DeezerPlaylistIE  from .dfb import DFBIE +from .dhm import DHMIE  from .dotsub import DotsubIE  from .douyutv import DouyuTVIE  from .dreisat import DreiSatIE diff --git a/youtube_dl/extractor/dhm.py b/youtube_dl/extractor/dhm.py new file mode 100644 index 000000000..a0a584f6a --- /dev/null +++ b/youtube_dl/extractor/dhm.py @@ -0,0 +1,53 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor + +import urllib2 +import xml.etree.ElementTree as ET +import re + + +class DHMIE(InfoExtractor): +    IE_DESC = 'Deutsches Historisches Museum' +    _VALID_URL = r'http://www\.dhm\.de/filmarchiv/(?P<id>.*?)' + +    _TEST = { +        'url': 'http://www.dhm.de/filmarchiv/die-filme/the-marshallplan-at-work-in-west-germany/', +        'md5': '11c475f670209bf6acca0b2b7ef51827', +        'info_dict': { +            'id': 'marshallwg', +            'ext': 'flv', +            'title': 'MARSHALL PLAN AT WORK IN WESTERN GERMANY, THE', +            'thumbnail': 'http://www.dhm.de/filmarchiv/video/mpworkwg.jpg', +        } +    } + +    def _real_extract(self, url): +        video_id = '' +        webpage = self._download_webpage(url, video_id) + +        title = self._html_search_regex( +            r'dc:title=\"(.*?)\"', webpage, 'title') + +        playlist_url = self._html_search_regex( +            r'file: \'(.*?)\'', webpage, 'playlist URL') + +        xml_file = urllib2.urlopen(playlist_url) +        data = xml_file.read() +        xml_file.close() + +        root = ET.fromstring(data) +        video_url = root[0][0][0].text +        thumbnail = root[0][0][2].text + +        m = re.search('video/(.+?).flv', video_url) +        if m: +            video_id = m.group(1) + +        return { +            'id': video_id, +            'title': title, +            'url': video_url, +            'thumbnail': thumbnail, +        } | 
