หากคุณกำลังมองหาวิธี ดาวน์โหลดวิดีโอ YouTube ด้วย Python บทความนี้จะแนะนำวิธีใช้งาน pytube ซึ่งเป็นไลบรารีที่ช่วยให้คุณดาวน์โหลดวิดีโอจาก YouTube ได้ง่าย ๆ ไม่ต้องใช้ซอฟต์แวร์เพิ่มเติม

ทำไมต้องใช้ Python ในการดาวน์โหลดวิดีโอ YouTube?

  • สะดวกและรวดเร็ว: สามารถดาวน์โหลดวิดีโอได้ด้วยโค้ดไม่กี่บรรทัด
  • ไม่ต้องติดตั้งโปรแกรมเสริม: ใช้แค่ Python และไลบรารี pytube
  • รองรับความละเอียดสูง: ดาวน์โหลดวิดีโอได้ในคุณภาพสูงสุด

วิธีติดตั้ง pytube

ก่อนอื่นต้องติดตั้งไลบรารี pytube โดยใช้คำสั่งต่อไปนี้:

pip install pytube

หากติดปัญหาในการติดตั้ง ลองอัปเดต pip ก่อน:

pip install --upgrade pip

ตัวอย่างโค้ดดาวน์โหลดวิดีโอ YouTube ด้วย Python

from pytube import YouTube

# ใส่ลิงก์ของวิดีโอ YouTube ที่ต้องการดาวน์โหลด
video_url = "https://www.youtube.com/watch?v=6VYtgkl3HPQ"

# สร้างอ็อบเจ็กต์ YouTube
yt = YouTube(video_url)

# เลือกดาวน์โหลดวิดีโอที่มีความละเอียดสูงสุด
stream = yt.streams.get_highest_resolution()

# ดาวน์โหลดวิดีโอ
stream.download()

อธิบายโค้ด

  1. นำเข้าไลบรารี pytube
  2. กำหนด URL ของวิดีโอ ที่ต้องการดาวน์โหลด
  3. สร้างอ็อบเจ็กต์ YouTube
  4. เลือกความละเอียดสูงสุดของวิดีโอ
  5. ดาวน์โหลดและบันทึกวิดีโอไว้ในเครื่อง

การระบุตำแหน่งไฟล์ที่บันทึก

หากต้องการกำหนดโฟลเดอร์ที่ต้องการให้วิดีโอถูกบันทึกลงไป สามารถใช้โค้ดดังนี้:

stream.download(output_path="C:/Users/YourName/Videos")

ปัญหาที่อาจพบและวิธีแก้ไข

1. pytube ไม่สามารถดาวน์โหลดวิดีโอได้

อาจเป็นเพราะ YouTube เปลี่ยนแปลงโครงสร้างเว็บ ให้ลองติดตั้งเวอร์ชันล่าสุดของ pytube ด้วยคำสั่งนี้:

pip install --upgrade pytube

2. เกิดข้อผิดพลาด “VideoUnavailable”

ตรวจสอบว่า URL ของวิดีโอถูกต้อง และวิดีโอไม่ได้ถูกลบหรือถูกจำกัดสิทธิ์การเข้าถึง

3. ดาวน์โหลดวิดีโอได้ แต่ไม่มีเสียง

ให้ใช้ เพื่อดาวน์โหลดเฉพาะไฟล์เสียง

.streams.filter(only_audio=True).first()

สรุป

การใช้ Python และ pytube ในการดาวน์โหลดวิดีโอจาก YouTube นั้นง่ายและสะดวกมาก โค้ดตัวอย่างด้านบนช่วยให้คุณสามารถดาวน์โหลดวิดีโอความละเอียดสูงได้ในไม่กี่วินาที

หากคุณชอบบทความนี้ อย่าลืมแชร์และติดตามเพื่อรับบทความเกี่ยวกับ Python และการเขียนโปรแกรมเพิ่มเติม!

By Tee

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *