0 Mustafa Suleiman نشر 17 سبتمبر أرسل تقرير نشر 17 سبتمبر تلك مشكلة قائمة بمكتبة pytube بالفعل، ستحتاج إلى استخدام مكتبة pytubefix بدلاً منها، ستجد شرح لاستخدامها هنا: https://pypi.org/project/pytubefix/ اقتباس
0 ياسر مسكين نشر 18 سبتمبر أرسل تقرير نشر 18 سبتمبر توجد عدة مشاكل في حزمة pytube لذا صحيح يمكنك الاستعانة بحزمة pytubefix تحميل حزمة pytubefix لكنها نفسها تحتوي على مشكلة أخرى وهي أنه لا يمكنك تنزيل فيديوهات عالية الجودة دون فقدان الصوت، ولكن يمكنك تنزيل الفيديو بشكل منفصل عن الصوت ثم تشغيلهما معا لاحقا وهذه الشيفرة تحقّق ذات الغرض: from pytubefix import YouTube import os def sanitize_filename(filename): return "".join(c if c.isalnum() or c in " ._-" else "_" for c in filename) def audio(thelink, path): try: yt = YouTube(thelink) print('Title:', yt.title) print('Views:', yt.views) yd = yt.streams.get_audio_only() yt_title = sanitize_filename(yt.title) yd.download(output_path=path, filename=f'{yt_title}.mp3') print('Finished downloading audio') except Exception as e: print(f"Error: {e}") def high(thelink, path): try: yt = YouTube(thelink) print('Title:', yt.title) print('Views:', yt.views) yt_title = sanitize_filename(yt.title) video_stream = yt.streams.filter().order_by("resolution").last() audio_stream = yt.streams.get_audio_only() video_filename = f'{yt_title}.mp4' audio_filename = f'{yt_title}.mp3' video_stream.download(output_path=path, filename=video_filename) audio_stream.download(output_path=path, filename=audio_filename) print('Finished downloading high resolution video and audio') except Exception as e: print(f"Error: {e}") def low(thelink, path): try: yt = YouTube(thelink) print('Title:', yt.title) print('Views:', yt.views) yd = yt.streams.get_lowest_resolution() yt_title = sanitize_filename(yt.title) yd.download(output_path=path, filename=f'{yt_title}.mp4') print('Finished downloading low resolution video') except Exception as e: print(f"Error: {e}") link_inp = input("Please Enter the link of the video: ") path_inp = input("Please Enter the download path: ") menu_inp = input('Select:\n1- Audio\n2- Highest Resolution\n3- Lowest Resolution\n') if menu_inp == '1': audio(link_inp, path_inp) elif menu_inp == '2': high(link_inp, path_inp) elif menu_inp == '3': low(link_inp, path_inp) else: print('Invalid input') اقتباس
السؤال
محمد Mmm2
مشكلة في الكود في بايثون
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.