54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								# coding: utf-8
							 | 
						||
| 
								 | 
							
								from __future__ import unicode_literals
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from .common import InfoExtractor
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class LentaIE(InfoExtractor):
							 | 
						||
| 
								 | 
							
								    _VALID_URL = r'https?://(?:www\.)?lenta\.ru/[^/]+/\d+/\d+/\d+/(?P<id>[^/?#&]+)'
							 | 
						||
| 
								 | 
							
								    _TESTS = [{
							 | 
						||
| 
								 | 
							
								        'url': 'https://lenta.ru/news/2018/03/22/savshenko_go/',
							 | 
						||
| 
								 | 
							
								        'info_dict': {
							 | 
						||
| 
								 | 
							
								            'id': '964400',
							 | 
						||
| 
								 | 
							
								            'ext': 'mp4',
							 | 
						||
| 
								 | 
							
								            'title': 'Надежду Савченко задержали',
							 | 
						||
| 
								 | 
							
								            'thumbnail': r're:^https?://.*\.jpg$',
							 | 
						||
| 
								 | 
							
								            'duration': 61,
							 | 
						||
| 
								 | 
							
								            'view_count': int,
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        'params': {
							 | 
						||
| 
								 | 
							
								            'skip_download': True,
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								    }, {
							 | 
						||
| 
								 | 
							
								        # EaglePlatform iframe embed
							 | 
						||
| 
								 | 
							
								        'url': 'http://lenta.ru/news/2015/03/06/navalny/',
							 | 
						||
| 
								 | 
							
								        'info_dict': {
							 | 
						||
| 
								 | 
							
								            'id': '227304',
							 | 
						||
| 
								 | 
							
								            'ext': 'mp4',
							 | 
						||
| 
								 | 
							
								            'title': 'Навальный вышел на свободу',
							 | 
						||
| 
								 | 
							
								            'description': 'md5:d97861ac9ae77377f3f20eaf9d04b4f5',
							 | 
						||
| 
								 | 
							
								            'thumbnail': r're:^https?://.*\.jpg$',
							 | 
						||
| 
								 | 
							
								            'duration': 87,
							 | 
						||
| 
								 | 
							
								            'view_count': int,
							 | 
						||
| 
								 | 
							
								            'age_limit': 0,
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        'params': {
							 | 
						||
| 
								 | 
							
								            'skip_download': True,
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								    }]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def _real_extract(self, url):
							 | 
						||
| 
								 | 
							
								        display_id = self._match_id(url)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        webpage = self._download_webpage(url, display_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        video_id = self._search_regex(
							 | 
						||
| 
								 | 
							
								            r'vid\s*:\s*["\']?(\d+)', webpage, 'eagleplatform id',
							 | 
						||
| 
								 | 
							
								            default=None)
							 | 
						||
| 
								 | 
							
								        if video_id:
							 | 
						||
| 
								 | 
							
								            return self.url_result(
							 | 
						||
| 
								 | 
							
								                'eagleplatform:lentaru.media.eagleplatform.com:%s' % video_id,
							 | 
						||
| 
								 | 
							
								                ie='EaglePlatform', video_id=video_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return self.url_result(url, ie='Generic')
							 |