]> git.bitcoin.ninja Git - youtube-dl/commitdiff
[spiegel] Add support for articles
authorPhilipp Hagemeister <phihag@phihag.de>
Sat, 13 Sep 2014 04:55:38 +0000 (06:55 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Sat, 13 Sep 2014 04:55:38 +0000 (06:55 +0200)
youtube_dl/extractor/__init__.py
youtube_dl/extractor/spiegel.py

index 4423f78a54f1b1d700a07dc76a78f865975f1525..f1a5b26085b67fca980eed7dde002dac86cf7ca4 100644 (file)
@@ -325,7 +325,7 @@ from .southpark import (
 )
 from .space import SpaceIE
 from .spankwire import SpankwireIE
 )
 from .space import SpaceIE
 from .spankwire import SpankwireIE
-from .spiegel import SpiegelIE
+from .spiegel import SpiegelIE, SpiegelArticleIE
 from .spiegeltv import SpiegeltvIE
 from .spike import SpikeIE
 from .sportdeutschland import SportDeutschlandIE
 from .spiegeltv import SpiegeltvIE
 from .spike import SpikeIE
 from .sportdeutschland import SportDeutschlandIE
index 340a38440d02ad28b5eb6ab19916eee870818c35..a3b89f751b2c038027c223816498d981ac7ee011 100644 (file)
@@ -4,6 +4,7 @@ from __future__ import unicode_literals
 import re
 
 from .common import InfoExtractor
 import re
 
 from .common import InfoExtractor
+from ..utils import compat_urlparse
 
 
 class SpiegelIE(InfoExtractor):
 
 
 class SpiegelIE(InfoExtractor):
@@ -82,3 +83,34 @@ class SpiegelIE(InfoExtractor):
             'duration': duration,
             'formats': formats,
         }
             'duration': duration,
             'formats': formats,
         }
+
+
+class SpiegelArticleIE(InfoExtractor):
+    _VALID_URL = 'https?://www\.spiegel\.de/(?!video/)[^?#]*?-(?P<id>[0-9]+)\.html'
+    IE_NAME = 'Spiegel:Article'
+    IE_DESC = 'Articles on spiegel.de'
+    _TEST = {
+        'url': 'http://www.spiegel.de/sport/sonst/badminton-wm-die-randsportart-soll-populaerer-werden-a-987092.html',
+        'info_dict': {
+            'id': '1516455',
+            'ext': 'mp4',
+            'title': 'Faszination Badminton: Nennt es bloß nicht Federball',
+            'description': 're:^Patrick Kämnitz gehört.{100,}',
+        },
+    }
+
+    def _real_extract(self, url):
+        m = re.match(self._VALID_URL, url)
+        video_id = m.group('id')
+
+        webpage = self._download_webpage(url, video_id)
+        video_link = self._search_regex(
+            r'<a href="([^"]+)" onclick="return spOpenVideo\(this,', webpage,
+            'video page URL')
+        video_url = compat_urlparse.urljoin(
+            self.http_scheme() + '//spiegel.de/', video_link)
+
+        return {
+            '_type': 'url',
+            'url': video_url,
+        }