تمرين إعادة البناء
مخطط تنزيل فيديو آمن
تحقق من روابط فيديو واكتب أوامر yt-dlp مقترحة دون تشغيلها.
python
~15 دقيقة
متوسط
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
import argparse
import shlex
from urllib.parse import urlparse
ALLOWED_HOSTS = {"youtube.com", "www.youtube.com", "youtu.be", "m.youtube.com"}
def is_youtube_url(url: str) -> bool:
parsed = urlparse(url)
return parsed.scheme in {"http", "https"} and parsed.netloc.lower() in ALLOWED_HOSTS
def build_command(url: str, audio_only: bool) -> list[str]:
command = ["yt-dlp"]
if audio_only:
command.extend(["--extract-audio", "--audio-format", "mp3"])
command.append(url)
return command
def main() -> None:
parser = argparse.ArgumentParser(description="Print a safe yt-dlp command plan without running it.")
parser.add_argument("url")
parser.add_argument("--audio-only", action="store_true")
args = parser.parse_args()
if not is_youtube_url(args.url):
raise SystemExit("Expected a YouTube URL.")
print(shlex.join(build_command(args.url, args.audio_only)))
if __name__ == "__main__":
main()اكتب هنا