merge from github
This commit is contained in:
parent
862de2f9d2
commit
119ef675df
@ -9,6 +9,10 @@ from bs4 import BeautifulSoup
|
||||
from fake_useragent import UserAgent
|
||||
from src.Loaders.provider.Provider import Provider
|
||||
|
||||
# Compile regex patterns once for better performance
|
||||
REDIRECT_PATTERN = re.compile(r"https?://[^'\"<>]+")
|
||||
B64_PATTERN = re.compile(r"var a168c='([^']+)'")
|
||||
HLS_PATTERN = re.compile(r"'hls': '(?P<hls>[^']+)'")
|
||||
class VOE(Provider):
|
||||
|
||||
def __init__(self):
|
||||
@ -48,18 +52,26 @@ class VOE(Provider):
|
||||
response = self.session.get(redirect_url, headers={'User-Agent': self.RANDOM_USER_AGENT})
|
||||
html = response.content
|
||||
|
||||
|
||||
# Method 1: Extract from script tag
|
||||
extracted = self.extract_voe_from_script(html)
|
||||
if extracted:
|
||||
return extracted, self.Header
|
||||
|
||||
b64match = re.search(r"var a168c='([^']+)'", html)
|
||||
if b64match:
|
||||
decoded = base64.b64decode(b64match.group(1)).decode()[::-1]
|
||||
return json.loads(decoded)["source"], self.Header
|
||||
# Method 2: Extract from base64 encoded variable
|
||||
htmlText = html.decode('utf-8')
|
||||
b64_match = B64_PATTERN.search(htmlText)
|
||||
if b64_match:
|
||||
decoded = base64.b64decode(b64_match.group(1)).decode()[::-1]
|
||||
source = json.loads(decoded).get("source")
|
||||
if source:
|
||||
return source, self.Header
|
||||
|
||||
# Method 3: Extract HLS source
|
||||
hls_match = HLS_PATTERN.search(htmlText)
|
||||
if hls_match:
|
||||
return base64.b64decode(hls_match.group("hls")).decode(), self.Header
|
||||
|
||||
hls = re.search(r"'hls': '(?P<hls>[^']+)'", html)
|
||||
if hls:
|
||||
return base64.b64decode(hls.group("hls")).decode(), self.Header
|
||||
def shift_letters(self, input_str):
|
||||
result = ''
|
||||
for c in input_str:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user