diff options
| author | Oskar Jauch <oskar.jauch@gmail.com> | 2015-03-28 10:38:52 +0100 | 
|---|---|---|
| committer | Oskar Jauch <oskar.jauch@gmail.com> | 2015-03-28 10:38:52 +0100 | 
| commit | 643fe72717e6b9c45af4528e46dfc181cad7aebb (patch) | |
| tree | 91d24d0b3c76bfaf35a872ecb6a09c312bac3b88 /youtube_dl/extractor/dhm.py | |
| parent | 4747e2183acbddea61a3f10fb4ba1ed5b70c8bd1 (diff) | |
[DHM] Add new extractor
Diffstat (limited to 'youtube_dl/extractor/dhm.py')
| -rw-r--r-- | youtube_dl/extractor/dhm.py | 52 | 
1 files changed, 52 insertions, 0 deletions
diff --git a/youtube_dl/extractor/dhm.py b/youtube_dl/extractor/dhm.py new file mode 100644 index 000000000..d379c9d53 --- /dev/null +++ b/youtube_dl/extractor/dhm.py @@ -0,0 +1,52 @@ +# 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): +    _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, +        }  | 
