1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-07-29 00:28:29 +00:00

Delete mir24tv exctractor

This commit is contained in:
Nikolay Fedorov 2025-07-06 13:56:10 +03:00 committed by GitHub
parent 307436eeb8
commit 3184e6cf19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,60 +0,0 @@
from .common import InfoExtractor
from ..utils import (
ExtractorError,
filter_dict,
unsmuggle_url,
)
import urllib
class Mir24tvIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?mir24\.tv/news/(?P<id>[0-9]+)/[^/?#]+'
_BASE_URL = 'https://mir24.tv'
_HEADERS = {
'Origin': _BASE_URL,
'Referer': f'{_BASE_URL}/',
}
_TESTS = [{
'url': 'https://mir24.tv/news/16635210/dni-kultury-rossii-otkrylis-v-uzbekistane.-na-prazdnichnom-koncerte-vystupili-zvezdy-rossijskoj-estrada',
'info_dict': {
'id': '16635210',
'title': 'Дни культуры России открылись в Узбекистане. На праздничном концерте выступили звезды российской эстрады',
'ext': 'mp4',
},
'params': {'skip_download': True},
}]
_IMPERSONATE_TARGET = True
def _real_extract(self, url):
video_id = self._match_id(url)
url, smuggled_data = unsmuggle_url(url, {})
impersonate = self._configuration_arg('impersonate', [''])
try:
webpage = self._request_webpage(url, video_id, headers=filter_dict({
'Accept-Encoding': 'identity',
'Referer': smuggled_data.get('referer'),
}), impersonate=impersonate)
except ExtractorError:
raise ExtractorError('try again with --extractor-args "generic:impersonate"', expected=True)
webpage = webpage.read().decode()
iframe_url = self._search_regex(
r'<iframe[^>]+src=["\'](https?://mir24\.tv/players/[^"\']+)',
webpage, 'iframe URL')
parsed_url = urllib.parse.urlparse(iframe_url)
query_params = urllib.parse.parse_qs(parsed_url.query)
m3u8_url_encoded = query_params.get('source', [''])[0]
if not m3u8_url_encoded:
raise self.raise_no_formats('Не удалось найти параметр source в iframe')
m3u8_url = urllib.parse.unquote(m3u8_url_encoded).replace('///', '//')
title = self._og_search_title(webpage, default=None) or self._html_search_meta(
'og:title', webpage, 'title', default=video_id)
return {
'id': video_id,
'title': title,
'formats': self._extract_m3u8_formats(m3u8_url, video_id, 'mp4'),
}