[lenta] Add extractor (closes #15953)
This commit is contained in:
parent
1d4a0520ba
commit
8b7340a45e
3 changed files with 56 additions and 20 deletions
|
@ -532,13 +532,14 @@ from .lcp import (
|
||||||
)
|
)
|
||||||
from .learnr import LearnrIE
|
from .learnr import LearnrIE
|
||||||
from .lecture2go import Lecture2GoIE
|
from .lecture2go import Lecture2GoIE
|
||||||
from .lego import LEGOIE
|
|
||||||
from .lemonde import LemondeIE
|
|
||||||
from .leeco import (
|
from .leeco import (
|
||||||
LeIE,
|
LeIE,
|
||||||
LePlaylistIE,
|
LePlaylistIE,
|
||||||
LetvCloudIE,
|
LetvCloudIE,
|
||||||
)
|
)
|
||||||
|
from .lego import LEGOIE
|
||||||
|
from .lemonde import LemondeIE
|
||||||
|
from .lenta import LentaIE
|
||||||
from .libraryofcongress import LibraryOfCongressIE
|
from .libraryofcongress import LibraryOfCongressIE
|
||||||
from .libsyn import LibsynIE
|
from .libsyn import LibsynIE
|
||||||
from .lifenews import (
|
from .lifenews import (
|
||||||
|
|
|
@ -1270,24 +1270,6 @@ class GenericIE(InfoExtractor):
|
||||||
},
|
},
|
||||||
'add_ie': ['Kaltura'],
|
'add_ie': ['Kaltura'],
|
||||||
},
|
},
|
||||||
# EaglePlatform embed (generic URL)
|
|
||||||
{
|
|
||||||
'url': 'http://lenta.ru/news/2015/03/06/navalny/',
|
|
||||||
# Not checking MD5 as sometimes the direct HTTP link results in 404 and HLS is used
|
|
||||||
'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,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
# referrer protected EaglePlatform embed
|
# referrer protected EaglePlatform embed
|
||||||
{
|
{
|
||||||
'url': 'https://tvrain.ru/lite/teleshow/kak_vse_nachinalos/namin-418921/',
|
'url': 'https://tvrain.ru/lite/teleshow/kak_vse_nachinalos/namin-418921/',
|
||||||
|
|
53
youtube_dl/extractor/lenta.py
Normal file
53
youtube_dl/extractor/lenta.py
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
# 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')
|
Loading…
Reference in a new issue