[oktoberfesttv] Add new extractor (Fixes #3845)
This commit is contained in:
		| @@ -261,6 +261,7 @@ from .nrk import ( | |||||||
| from .ntv import NTVIE | from .ntv import NTVIE | ||||||
| from .nytimes import NYTimesIE | from .nytimes import NYTimesIE | ||||||
| from .nuvid import NuvidIE | from .nuvid import NuvidIE | ||||||
|  | from .oktoberfesttv import OktoberfestTVIE | ||||||
| from .ooyala import OoyalaIE | from .ooyala import OoyalaIE | ||||||
| from .orf import ( | from .orf import ( | ||||||
|     ORFTVthekIE, |     ORFTVthekIE, | ||||||
|   | |||||||
							
								
								
									
										47
									
								
								youtube_dl/extractor/oktoberfesttv.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								youtube_dl/extractor/oktoberfesttv.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | |||||||
|  | # encoding: utf-8 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  |  | ||||||
|  | from .common import InfoExtractor | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class OktoberfestTVIE(InfoExtractor): | ||||||
|  |     _VALID_URL = r'https?://www\.oktoberfest-tv\.de/[^/]+/[^/]+/video/(?P<id>[^/?#]+)' | ||||||
|  |  | ||||||
|  |     _TEST = { | ||||||
|  |         'url': 'http://www.oktoberfest-tv.de/de/kameras/video/hb-zelt', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'hb-zelt', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': 're:^Live-Kamera: Hofbräuzelt [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', | ||||||
|  |             'thumbnail': 're:^https?://.*\.jpg$', | ||||||
|  |             'is_live': True, | ||||||
|  |         }, | ||||||
|  |         'params': { | ||||||
|  |             'skip_download': True, | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         video_id = self._match_id(url) | ||||||
|  |         webpage = self._download_webpage(url, video_id) | ||||||
|  |  | ||||||
|  |         title = self._live_title(self._html_search_regex( | ||||||
|  |             r'<h1><strong>.*?</strong>(.*?)</h1>', webpage, 'title')) | ||||||
|  |  | ||||||
|  |         clip = self._search_regex( | ||||||
|  |             r"clip:\s*\{\s*url:\s*'([^']+)'", webpage, 'clip') | ||||||
|  |         ncurl = self._search_regex( | ||||||
|  |             r"netConnectionUrl:\s*'([^']+)'", webpage, 'rtmp base') | ||||||
|  |         video_url = ncurl + clip | ||||||
|  |         thumbnail = self._search_regex( | ||||||
|  |             r"canvas:\s*\{\s*backgroundImage:\s*'url\(([^)]+)\)'", webpage, | ||||||
|  |             'thumbnail', fatal=False) | ||||||
|  |  | ||||||
|  |         return { | ||||||
|  |             'id': video_id, | ||||||
|  |             'title': title, | ||||||
|  |             'url': video_url, | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'is_live': True, | ||||||
|  |             'thumbnail': thumbnail, | ||||||
|  |         } | ||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister