mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[Letv] Add playlist support
This commit is contained in:
		| @@ -2,6 +2,7 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import os.path | ||||
| import re | ||||
| import time | ||||
| import datetime | ||||
|  | ||||
| @@ -11,7 +12,7 @@ from ..utils import (ExtractorError, parse_iso8601) | ||||
|  | ||||
|  | ||||
| class LetvIE(InfoExtractor): | ||||
|     _VALID_URL = r'http://www.letv.com/ptv/vplay/(?P<id>\d+).html' | ||||
|     _VALID_URL = r'http://www\.letv\.com/ptv/vplay/(?P<id>\d+).html' | ||||
|  | ||||
|     _TESTS = [{ | ||||
|         'url': 'http://www.letv.com/ptv/vplay/22005890.html', | ||||
| @@ -118,3 +119,54 @@ class LetvIE(InfoExtractor): | ||||
|             'thumbnail': playurl['pic'], | ||||
|             'timestamp': publish_time, | ||||
|         } | ||||
|  | ||||
|  | ||||
| class LetvTvIE(InfoExtractor): | ||||
|     _VALID_URL = r'http://www.letv.com/tv/(?P<id>\d+).html' | ||||
|     _TESTS = [{ | ||||
|         'url': 'http://www.letv.com/tv/46177.html', | ||||
|         'info_dict': { | ||||
|             'id': '46177', | ||||
|             'title': '美人天下', | ||||
|             'description': 'md5:395666ff41b44080396e59570dbac01c' | ||||
|         }, | ||||
|         'playlist_count': 35 | ||||
|     }] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         playlist_id = self._match_id(url) | ||||
|         page = self._download_webpage(url, playlist_id) | ||||
|  | ||||
|         media_urls = list(set(re.findall( | ||||
|             r'http://www.letv.com/ptv/vplay/\d+.html', page))) | ||||
|         entries = [self.url_result(media_url, ie='Letv') | ||||
|                    for media_url in media_urls] | ||||
|  | ||||
|         title = self._html_search_meta('keywords', page, fatal=False).split(',')[0] | ||||
|         description = self._html_search_meta('description', page, fatal=False) | ||||
|  | ||||
|         return self.playlist_result(entries, playlist_id, playlist_title=title, | ||||
|                                     playlist_description=description) | ||||
|  | ||||
|  | ||||
| class LetvPlaylistIE(LetvTvIE): | ||||
|     _VALID_URL = r'http://tv.letv.com/[a-z]+/(?P<id>[a-z]+)/index.s?html' | ||||
|     _TESTS = [{ | ||||
|         'url': 'http://tv.letv.com/izt/wuzetian/index.html', | ||||
|         'info_dict': { | ||||
|             'id': 'wuzetian', | ||||
|             'title': '武媚娘传奇', | ||||
|             'description': 'md5:e12499475ab3d50219e5bba00b3cb248' | ||||
|         }, | ||||
|         'playlist_count': 96 | ||||
|     }, { | ||||
|         'url': 'http://tv.letv.com/pzt/lswjzzjc/index.shtml', | ||||
|         'info_dict': { | ||||
|             'id': 'lswjzzjc', | ||||
|             # should be "劲舞青春", but I can't find a simple way to determine | ||||
|             # the playlist title | ||||
|             'title': '乐视午间自制剧场', | ||||
|             'description': 'md5:b1eef244f45589a7b5b1af9ff25a4489' | ||||
|         }, | ||||
|         'playlist_mincount': 7 | ||||
|     }] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan