[nrktv] Add support for tv.nrk.no (Closes #2980)
This commit is contained in:
		| @@ -194,7 +194,10 @@ from .normalboots import NormalbootsIE | ||||
| from .novamov import NovaMovIE | ||||
| from .nowness import NownessIE | ||||
| from .nowvideo import NowVideoIE | ||||
| from .nrk import NRKIE | ||||
| from .nrk import ( | ||||
|     NRKIE, | ||||
|     NRKTVIE, | ||||
| ) | ||||
| from .ntv import NTVIE | ||||
| from .nytimes import NYTimesIE | ||||
| from .nuvid import NuvidIE | ||||
|   | ||||
| @@ -4,7 +4,11 @@ from __future__ import unicode_literals | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..utils import ExtractorError | ||||
| from ..utils import ( | ||||
|     ExtractorError, | ||||
|     int_or_none, | ||||
|     unified_strdate, | ||||
| ) | ||||
|  | ||||
|  | ||||
| class NRKIE(InfoExtractor): | ||||
| @@ -64,4 +68,78 @@ class NRKIE(InfoExtractor): | ||||
|             'title': data['title'], | ||||
|             'description': data['description'], | ||||
|             'thumbnail': thumbnail, | ||||
|         } | ||||
|  | ||||
|  | ||||
| class NRKTVIE(InfoExtractor): | ||||
|     _VALID_URL = r'http://tv\.nrk\.no/(?:serie/[^/]+|program)/(?P<id>[a-z]{4}\d{8})' | ||||
|  | ||||
|     _TESTS = [ | ||||
|         { | ||||
|             'url': 'http://tv.nrk.no/serie/20-spoersmaal-tv/muhh48000314/23-05-2014', | ||||
|             'md5': '7b96112fbae1faf09a6f9ae1aff6cb84', | ||||
|             'info_dict': { | ||||
|                 'id': 'muhh48000314', | ||||
|                 'ext': 'flv', | ||||
|                 'title': '20 spørsmål', | ||||
|                 'description': 'md5:bdea103bc35494c143c6a9acdd84887a', | ||||
|                 'upload_date': '20140523', | ||||
|                 'duration': 1741.52, | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             'url': 'http://tv.nrk.no/program/mdfp15000514', | ||||
|             'md5': '383650ece2b25ecec996ad7b5bb2a384', | ||||
|             'info_dict': { | ||||
|                 'id': 'mdfp15000514', | ||||
|                 'ext': 'flv', | ||||
|                 'title': 'Kunnskapskanalen: Grunnlovsjubiléet - Stor ståhei for ingenting', | ||||
|                 'description': 'md5:654c12511f035aed1e42bdf5db3b206a', | ||||
|                 'upload_date': '20140524', | ||||
|                 'duration': 4605.0, | ||||
|             } | ||||
|         }, | ||||
|     ] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         mobj = re.match(self._VALID_URL, url) | ||||
|         video_id = mobj.group('id') | ||||
|  | ||||
|         page = self._download_webpage(url, video_id) | ||||
|  | ||||
|         title = self._html_search_meta('title', page, 'title') | ||||
|         description = self._html_search_meta('description', page, 'description') | ||||
|         thumbnail = self._html_search_regex(r'data-posterimage="([^"]+)"', page, 'thumbnail', fatal=False) | ||||
|         upload_date = unified_strdate(self._html_search_meta('rightsfrom', page, 'upload date', fatal=False)) | ||||
|         duration = self._html_search_regex(r'data-duration="([^"]+)"', page, 'duration', fatal=False) | ||||
|         if duration: | ||||
|             duration = float(duration) | ||||
|  | ||||
|         formats = [] | ||||
|  | ||||
|         f4m_url = re.search(r'data-media="([^"]+)"', page) | ||||
|         if f4m_url: | ||||
|             formats.append({ | ||||
|                 'url': f4m_url.group(1) + '?hdcore=3.1.1&plugin=aasp-3.1.1.69.124', | ||||
|                 'format_id': 'f4m', | ||||
|                 'ext': 'flv', | ||||
|             }) | ||||
|  | ||||
|         m3u8_url = re.search(r'data-hls-media="([^"]+)"', page) | ||||
|         if m3u8_url: | ||||
|             formats.append({ | ||||
|                 'url': m3u8_url.group(1), | ||||
|                 'format_id': 'm3u8', | ||||
|             }) | ||||
|  | ||||
|         self._sort_formats(formats) | ||||
|  | ||||
|         return { | ||||
|             'id': video_id, | ||||
|             'title': title, | ||||
|             'description': description, | ||||
|             'thumbnail': thumbnail, | ||||
|             'upload_date': upload_date, | ||||
|             'duration': duration, | ||||
|             'formats': formats, | ||||
|         } | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․