瀏覽代碼

Add extractor for rtve.es/television (fixes #10076)

Jaime Marquínez Ferrándiz 9 年之前
父節點
當前提交
233b58dec7
共有 2 個文件被更改,包括 32 次插入1 次删除
  1. 1 1
      youtube_dl/extractor/extractors.py
  2. 31 0
      youtube_dl/extractor/rtve.py

+ 1 - 1
youtube_dl/extractor/extractors.py

@@ -689,7 +689,7 @@ from .rtlnl import RtlNlIE
 from .rtl2 import RTL2IE
 from .rtl2 import RTL2IE
 from .rtp import RTPIE
 from .rtp import RTPIE
 from .rts import RTSIE
 from .rts import RTSIE
-from .rtve import RTVEALaCartaIE, RTVELiveIE, RTVEInfantilIE
+from .rtve import RTVEALaCartaIE, RTVELiveIE, RTVEInfantilIE, RTVELiveIE, RTVETelevisionIE
 from .rtvnh import RTVNHIE
 from .rtvnh import RTVNHIE
 from .rudo import RudoIE
 from .rudo import RudoIE
 from .ruhd import RUHDIE
 from .ruhd import RUHDIE

+ 31 - 0
youtube_dl/extractor/rtve.py

@@ -220,3 +220,34 @@ class RTVELiveIE(InfoExtractor):
             'formats': formats,
             'formats': formats,
             'is_live': True,
             'is_live': True,
         }
         }
+
+
+class RTVETelevisionIE(InfoExtractor):
+    IE_NAME = 'rtve.es:television'
+    _VALID_URL = r'https?://www\.rtve\.es/television/[^/]+/[^/]+/(?P<id>\d+).shtml'
+
+    _TEST = {
+        'url': 'http://www.rtve.es/television/20160628/revolucion-del-movil/1364141.shtml',
+        'info_dict': {
+            'id': '3069778',
+            'ext': 'mp4',
+            'title': 'Documentos TV - La revolución del móvil',
+            'duration': 3496.948,
+        },
+        'params': {
+            'skip_download': True,
+        },
+    }
+
+    def _real_extract(self, url):
+        page_id = self._match_id(url)
+        webpage = self._download_webpage(url, page_id)
+
+        alacarta_url = self._search_regex(
+            r'data-location="alacarta_videos"[^<]+url&quot;:&quot;(http://www\.rtve\.es/alacarta.+?)&',
+            webpage, 'alacarta url', default=None)
+        if alacarta_url is None:
+            raise ExtractorError(
+                'The webpage doesn\'t contain any video', expected=True)
+
+        return self.url_result(alacarta_url, ie=RTVEALaCartaIE.ie_key())