mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[nhk:vod] Improve extraction (Closes #10424)
This commit is contained in:
		| @@ -4,26 +4,47 @@ from .common import InfoExtractor | ||||
|  | ||||
|  | ||||
| class NhkVodIE(InfoExtractor): | ||||
|     _VALID_URL = r'http://www3\.nhk\.or\.jp/nhkworld/en/vod/(?P<id>.+)\.html' | ||||
|     _TESTS = [{ | ||||
|     _VALID_URL = r'https?://www3\.nhk\.or\.jp/nhkworld/en/vod/(?P<id>.+?)\.html' | ||||
|     _TEST = { | ||||
|         # Videos available only for a limited period of time. Visit | ||||
|         # http://www3.nhk.or.jp/nhkworld/en/vod/ for working samples. | ||||
|         'url': 'http://www3.nhk.or.jp/nhkworld/en/vod/tokyofashion/20160815.html', | ||||
|         'info_dict': { | ||||
|             'id': 'A1bnNiNTE6nY3jLllS-BIISfcC_PpvF5', | ||||
|             'ext': 'flv', | ||||
|             'title': '[nhkworld]VOD;2009-251-2016;TOKYO FASHION EXPRESS;The Kimono as Global Fashion;en', | ||||
|             'title': 'TOKYO FASHION EXPRESS - The Kimono as Global Fashion', | ||||
|             'description': 'md5:db338ee6ce8204f415b754782f819824', | ||||
|             'series': 'TOKYO FASHION EXPRESS', | ||||
|             'episode': 'The Kimono as Global Fashion', | ||||
|         }, | ||||
|         'params': { | ||||
|             'skip_download': True  # Videos available only for a limited period of time. | ||||
|         }, | ||||
|     }] | ||||
|         'skip': 'Videos available only for a limited period of time', | ||||
|     } | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         video_id = self._match_id(url) | ||||
|  | ||||
|         webpage = self._download_webpage(url, video_id) | ||||
|  | ||||
|         embed_code = self._search_regex( | ||||
|             r'''nw_vod_ooplayer\('movie-area', '([^']+)'\);''', | ||||
|             webpage, | ||||
|             'ooyala embed code') | ||||
|             r'nw_vod_ooplayer\([^,]+,\s*(["\'])(?P<id>(?:(?!\1).)+)\1', | ||||
|             webpage, 'ooyala embed code', group='id') | ||||
|  | ||||
|         return self.url_result('ooyala:' + embed_code, 'Ooyala') | ||||
|         title = self._search_regex( | ||||
|             r'<div[^>]+class=["\']episode-detail["\']>\s*<h\d+>([^<]+)', | ||||
|             webpage, 'title', default=None) | ||||
|         description = self._html_search_regex( | ||||
|             r'(?s)<p[^>]+class=["\']description["\'][^>]*>(.+?)</p>', | ||||
|             webpage, 'description', default=None) | ||||
|         series = self._search_regex( | ||||
|             r'<h2[^>]+class=["\']detail-top-player-title[^>]+><a[^>]+>([^<]+)', | ||||
|             webpage, 'series', default=None) | ||||
|  | ||||
|         return { | ||||
|             '_type': 'url_transparent', | ||||
|             'ie_key': 'Ooyala', | ||||
|             'url': 'ooyala:%s' % embed_code, | ||||
|             'title': '%s - %s' % (series, title) if series and title else title, | ||||
|             'description': description, | ||||
|             'series': series, | ||||
|             'episode': title, | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․