вк япфайлс расширил домены
This commit is contained in:
parent
88d753b84a
commit
9a64e1e6b8
5 changed files with 21 additions and 29 deletions
|
|
@ -39,7 +39,7 @@ def extract_download_url(page_url: str) -> tuple[str, str]:
|
|||
'User-Agent': USER_AGENT,
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
||||
'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
|
||||
'Referer': 'https://www.yapfiles.ru/',
|
||||
'Referer': 'https://www.yapfiles.com/',
|
||||
}
|
||||
|
||||
logger.info(f"Загружаю страницу: {page_url}")
|
||||
|
|
@ -69,7 +69,9 @@ def extract_download_url(page_url: str) -> tuple[str, str]:
|
|||
if '/files/' in href and 'token=' in href:
|
||||
download_url = href
|
||||
if not download_url.startswith('http'):
|
||||
download_url = 'https://www.yapfiles.ru' + download_url
|
||||
# Определяем домен из исходного URL
|
||||
domain = 'yapfiles.com' if 'yapfiles.com' in page_url else 'yapfiles.ru'
|
||||
download_url = f'https://www.{domain}' + download_url
|
||||
logger.info(f"Найдена ссылка на скачивание: {download_url}")
|
||||
break
|
||||
|
||||
|
|
@ -88,20 +90,24 @@ def extract_download_url(page_url: str) -> tuple[str, str]:
|
|||
# Или относительные пути
|
||||
matches = re.findall(r'["\']?(/files/[^\s"\'<>]+\.mp4\?token=[^\s"\'<>]+)["\']?', script_text)
|
||||
if matches:
|
||||
download_url = 'https://www.yapfiles.ru' + matches[0]
|
||||
# Определяем домен из исходного URL
|
||||
domain = 'yapfiles.com' if 'yapfiles.com' in page_url else 'yapfiles.ru'
|
||||
download_url = f'https://www.{domain}' + matches[0]
|
||||
logger.info(f"Найдена относительная ссылка в скрипте: {download_url}")
|
||||
break
|
||||
|
||||
# Способ 4: Формируем ссылку на основе URL страницы
|
||||
# URL страницы: https://www.yapfiles.ru/show/3532099/30faa897f5a34bb58c018f909a6f1fae.mp4.html
|
||||
# URL файла: https://www.yapfiles.ru/files/3532099/30faa897f5a34bb58c018f909a6f1fae.mp4
|
||||
# URL страницы: https://www.yapfiles.com/show/3532099/30faa897f5a34bb58c018f909a6f1fae.mp4.html
|
||||
# URL файла: https://www.yapfiles.com/files/3532099/30faa897f5a34bb58c018f909a6f1fae.mp4
|
||||
if not download_url:
|
||||
match = re.search(r'/show/(\d+)/([^/]+)\.html', page_url)
|
||||
if match:
|
||||
file_id = match.group(1)
|
||||
file_name = match.group(2)
|
||||
# Определяем домен из исходного URL
|
||||
domain = 'yapfiles.com' if 'yapfiles.com' in page_url else 'yapfiles.ru'
|
||||
# Пробуем без токена - иногда работает для публичных файлов
|
||||
download_url = f'https://www.yapfiles.ru/files/{file_id}/{file_name}'
|
||||
download_url = f'https://www.{domain}/files/{file_id}/{file_name}'
|
||||
logger.info(f"Сформирована ссылка на основе URL: {download_url}")
|
||||
|
||||
if not download_url:
|
||||
|
|
@ -194,7 +200,7 @@ def download_stream():
|
|||
logger.info(f"Получен запрос на скачивание (stream): {url}")
|
||||
|
||||
# Проверяем, что это Yapfiles URL
|
||||
if 'yapfiles.ru' not in url:
|
||||
if 'yapfiles.ru' not in url and 'yapfiles.com' not in url:
|
||||
return jsonify({'error': 'Only Yapfiles URLs are supported'}), 400
|
||||
|
||||
# Скачиваем видео
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue