From 3bfd03416a606d43b011c4db6cbd7eec1954c5a1 Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Wed, 18 Jun 2025 17:49:26 +0000 Subject: [PATCH] Update dzsecurity.py --- yt_dlp/extractor/dzsecurity.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/yt_dlp/extractor/dzsecurity.py b/yt_dlp/extractor/dzsecurity.py index 21f9b65e6..2e0fc8a45 100644 --- a/yt_dlp/extractor/dzsecurity.py +++ b/yt_dlp/extractor/dzsecurity.py @@ -1,8 +1,7 @@ +import re + from yt_dlp.extractor.common import InfoExtractor from yt_dlp.utils import ExtractorError -import re -from urllib.parse import urlparse - class DzsecurityLiveIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?(echoroukonline|ennaharonline)\.com/live(?:-news)?' @@ -41,8 +40,11 @@ def _real_extract(self, url): player_url = player_url_match.group(0) stream_id = player_url_match.group(1) - parsed = urlparse(url) - base_url = f'{parsed.scheme}://{parsed.netloc}' + base_url_match = re.match(r'(https?://[^/]+)', url) + if not base_url_match: + raise ExtractorError("Failed to extract base URL from input URL") + + base_url = base_url_match.group(1) headers = { 'Referer': base_url, @@ -57,7 +59,7 @@ def _real_extract(self, url): if not m3u8_match: raise ExtractorError("M3U8 stream URL not found in player page") - m3u8_url = parsed.scheme + ':' + m3u8_match.group('url') + m3u8_url = 'https:' + m3u8_match.group('url') return { 'id': stream_id,