Files
UnHided/mediaflow_proxy/extractors/uqload.py
2024-12-29 23:18:53 +01:00

25 lines
788 B
Python

import re
from typing import Dict
from urllib.parse import urljoin
from mediaflow_proxy.extractors.base import BaseExtractor, ExtractorError
class UqloadExtractor(BaseExtractor):
"""Uqload URL extractor."""
async def extract(self, url: str, **kwargs) -> Dict[str, str]:
"""Extract Uqload URL."""
response = await self._make_request(url)
video_url_match = re.search(r'sources: \["(.*?)"]', response.text)
if not video_url_match:
raise ExtractorError("Failed to extract video URL")
self.base_headers["referer"] = urljoin(url, "/")
return {
"destination_url": video_url_match.group(1),
"request_headers": self.base_headers,
"mediaflow_endpoint": self.mediaflow_endpoint,
}