mirror of
				https://github.com/ytdl-org/youtube-dl
				synced 2025-10-31 09:43:32 +00:00 
			
		
		
		
	This commit is contained in:
		
							parent
							
								
									f4d261b765
								
							
						
					
					
						commit
						03fad17cb6
					
				| @ -2,7 +2,10 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
| 
 | 
 | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_unquote | from ..compat import ( | ||||||
|  |     compat_str, | ||||||
|  |     compat_urllib_parse_unquote, | ||||||
|  | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     determine_ext, |     determine_ext, | ||||||
|     float_or_none, |     float_or_none, | ||||||
| @ -55,12 +58,33 @@ class IzleseneIE(InfoExtractor): | |||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
|         video_id = self._match_id(url) |         video_id = self._match_id(url) | ||||||
| 
 | 
 | ||||||
|         url = 'http://www.izlesene.com/video/%s' % video_id |         webpage = self._download_webpage('http://www.izlesene.com/video/%s' % video_id, video_id) | ||||||
|         webpage = self._download_webpage(url, video_id) | 
 | ||||||
|  |         video = self._parse_json( | ||||||
|  |             self._search_regex( | ||||||
|  |                 r'videoObj\s*=\s*({.+?})\s*;\s*\n', webpage, 'streams'), | ||||||
|  |             video_id) | ||||||
|  | 
 | ||||||
|  |         title = video.get('videoTitle') or self._og_search_title(webpage) | ||||||
|  | 
 | ||||||
|  |         formats = [] | ||||||
|  |         for stream in video['media']['level']: | ||||||
|  |             source_url = stream.get('source') | ||||||
|  |             if not source_url or not isinstance(source_url, compat_str): | ||||||
|  |                 continue | ||||||
|  |             ext = determine_ext(url, 'mp4') | ||||||
|  |             quality = stream.get('value') | ||||||
|  |             height = int_or_none(quality) | ||||||
|  |             formats.append({ | ||||||
|  |                 'format_id': '%sp' % quality if quality else 'sd', | ||||||
|  |                 'url': compat_urllib_parse_unquote(source_url), | ||||||
|  |                 'ext': ext, | ||||||
|  |                 'height': height, | ||||||
|  |             }) | ||||||
|  |         self._sort_formats(formats) | ||||||
| 
 | 
 | ||||||
|         title = self._og_search_title(webpage) |  | ||||||
|         description = self._og_search_description(webpage, default=None) |         description = self._og_search_description(webpage, default=None) | ||||||
|         thumbnail = self._proto_relative_url( |         thumbnail = video.get('posterURL') or self._proto_relative_url( | ||||||
|             self._og_search_thumbnail(webpage), scheme='http:') |             self._og_search_thumbnail(webpage), scheme='http:') | ||||||
| 
 | 
 | ||||||
|         uploader = self._html_search_regex( |         uploader = self._html_search_regex( | ||||||
| @ -69,30 +93,15 @@ class IzleseneIE(InfoExtractor): | |||||||
|         timestamp = parse_iso8601(self._html_search_meta( |         timestamp = parse_iso8601(self._html_search_meta( | ||||||
|             'uploadDate', webpage, 'upload date')) |             'uploadDate', webpage, 'upload date')) | ||||||
| 
 | 
 | ||||||
|         duration = float_or_none(self._html_search_regex( |         duration = float_or_none(video.get('duration') or self._html_search_regex( | ||||||
|             r'videoduration\s*=\s*\'([^\']+)\'', |             r'videoduration["\']?\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1', | ||||||
|             webpage, 'duration', fatal=False), scale=1000) |             webpage, 'duration', fatal=False, group='value'), scale=1000) | ||||||
| 
 | 
 | ||||||
|         view_count = str_to_int(get_element_by_id('videoViewCount', webpage)) |         view_count = str_to_int(get_element_by_id('videoViewCount', webpage)) | ||||||
|         comment_count = self._html_search_regex( |         comment_count = self._html_search_regex( | ||||||
|             r'comment_count\s*=\s*\'([^\']+)\';', |             r'comment_count\s*=\s*\'([^\']+)\';', | ||||||
|             webpage, 'comment_count', fatal=False) |             webpage, 'comment_count', fatal=False) | ||||||
| 
 | 
 | ||||||
|         streams_json = self._html_search_regex( |  | ||||||
|             r'_videoObj\s*=\s*(.+);', webpage, 'streams') |  | ||||||
|         streams = self._parse_json(streams_json, video_id) |  | ||||||
| 
 |  | ||||||
|         formats = [] |  | ||||||
|         for stream in streams.get('media').get('level'): |  | ||||||
|             url = stream.get('source') |  | ||||||
|             ext = determine_ext(url, 'mp4') |  | ||||||
|             quality = stream.get('value') |  | ||||||
|             formats.append({ |  | ||||||
|                 'format_id': '%sp' % quality, |  | ||||||
|                 'url': compat_urllib_parse_unquote(url), |  | ||||||
|                 'ext': ext, |  | ||||||
|             }) |  | ||||||
| 
 |  | ||||||
|         return { |         return { | ||||||
|             'id': video_id, |             'id': video_id, | ||||||
|             'title': title, |             'title': title, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sergey M․
						Sergey M․