трансфер с гитхаба

This commit is contained in:
2026-05-15 04:03:13 +06:00
parent e413b50f89
commit a6514cc14f
9 changed files with 768 additions and 21 deletions
+53
View File
@@ -0,0 +1,53 @@
import yt_dlp
import os
import json
def download_track(input_):
with open ("settings.json", "r", encoding="utf-8") as data:
settings = json.load(data)
query = f"ytsearch1:{input_}"
if not os.path.exists(settings["save to"]):
os.makedirs(settings["save to"])
ydl_opts = {
"format": "bestaudio/best",
"postprocessors": [{
"key": "FFmpegExtractAudio",
"preferredcodec": "mp3",
"preferredquality": "320",
}],
"proxy": settings["proxy"],
"extractor_args": {
"youtube": {
"player_client": ["android"],
"skip": ["webpage"],
}
},
"nocheckcertificate": True,
"outtmpl": settings["save to"] + "%(title)s.%(ext)s",
"quiet": False,
}
try:
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(query, download=True)
if 'entries' in info_dict:
video_info = info_dict['entries'][0]
else:
video_info = info_dict
file_path = ydl.prepare_filename(video_info)
final_path = os.path.splitext(file_path)[0] + ".mp3"
print(f"Скачано: {final_path}")
return final_path
except Exception as e:
print(f"Ошибка при скачивании: {e}")
return False