Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ดาวน์โหลดสื่อ/เสียงของ YouTube โดยใช้ Python - pafy


ในบทความนี้ เราจะมาดูวิธีการดึงรายละเอียดเกี่ยวกับ YouTube วิดีโอและดาวน์โหลดในรูปแบบต่างๆ โดยใช้ pafy โมดูล. ไปที่ลิงก์เพื่อดูเอกสารอย่างเป็นทางการ

ติดตั้ง pafy โมดูลโดยใช้คำสั่งต่อไปนี้

pip ติดตั้ง pafy

หากคุณเรียกใช้คำสั่งดังกล่าว จะสร้างผลลัพธ์ต่อไปนี้ในการติดตั้งโมดูล pafy ที่สำเร็จ .

กำลังรวบรวม pafyUsing cachedhttps://files.pythonhosted.org/packages/b0/e8/3516f761558525b00d3eaf73744eed5c267db20650b7b660674547e3e506/pafy-0.5.4-py2.py3-none-any.whl-0 ติดตั้งแพ็คเกจที่รวบรวมไว้

ก่อน>

ตรวจสอบว่าคุณสามารถนำเข้า pafy . ได้หรือไม่ หรือไม่ใช้คำสั่งต่อไปนี้

นำเข้าpafy

หากคุณไม่พบข้อผิดพลาดก็เสร็จสิ้น มิฉะนั้นให้ติดตั้งโมดูลต่อไปนี้เพื่อแก้ปัญหา

pip ติดตั้ง youtube-dl

หากคุณเรียกใช้คำสั่งข้างต้น จะสร้างผลลัพธ์ต่อไปนี้ในการติดตั้งโมดูล youtube-dl ที่สำเร็จ .

กำลังรวบรวม youtube-dlUsing cachedhttps://files.pythonhosted.org/packages/b1/ec/fe552181d6bd05a9e5b6b51f6f7ea4fed9f121ce595d788217e59318e47c/youtube_dl-2019.7.30-py2.youtubetal-packages ครบชุดแล้ว -2019.7.30

รายละเอียดวิดีโอ Youtube

ขั้นตอนในการดึงรายละเอียดของวิดีโอโดยใช้ลิงก์

  • นำเข้าโมดูล pafy

  • เก็บลิงก์ของวิดีโอไว้ในตัวแปร

  • เรียกใช้ pafy.new(url) เมธอดและเก็บผลลัพธ์ไว้ในตัวแปร

  • รับข้อมูลทั้งหมดเกี่ยวกับวิดีโอโดยใช้ตัวแปรด้านบน

มาดูตัวอย่างกัน

## การนำเข้า moduleimport pafy## url ของ videourl ="https://www.youtube.com/watch?v=cr3-J5wDLsM"## การเรียกวิธีการใหม่ของ pafyresult =pafy.new(url) ## รับรายละเอียด เช่น ชื่อ การให้คะแนน จำนวนการดู ผู้แต่ง ความยาว การชอบ ฯลฯ..,print(f"Title:{result.title}")print(f"Viewcount {result.viewcount}")print(f" ผู้แต่ง:{result.author}")print(f"Video Length:{result.length}")print(f"Likes:{result.likes}")print(f"Dislikes:{result.dislikes}")print (f"Description:{result.description}")

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

หัวข้อ:ภาพรวมการจัดทำดัชนีจำนวนการดู 862 ผู้เขียน:บทแนะนำ (อินเดีย) Pvt. Ltd.ความยาววิดีโอ:167ชอบ:6ไม่ชอบ:1คำอธิบาย:ภาพรวมการจัดทำดัชนีดูวิดีโอเพิ่มเติมได้ที่ https://www.tutorialspoint.com/videotutorials/index.htmการบรรยายโดย:Mr. Arnab Chakraborty, Tutorials Point India Private Limited

การดาวน์โหลดวิดีโอด้วยคุณภาพที่ดีที่สุด

  • นำเข้าโมดูล pafy

  • เก็บลิงก์ของวิดีโอไว้ในตัวแปร

  • เรียกใช้ pafy.new(url) เมธอดและเก็บผลลัพธ์ไว้ในตัวแปร

  • รับคุณภาพวิดีโอที่ดีที่สุดโดยใช้ getbest เมธอดโดยใช้ตัวแปรข้างต้นและเก็บไว้ในตัวแปร

  • เรียกใช้ ดาวน์โหลด วิธีการกับตัวแปรก่อนหน้า

ดูตัวอย่างด้านล่าง

## การนำเข้า moduleimport pafy## url ของ videourl ="https://www.youtube.com/watch?v=cr3-J5wDLsM"## การเรียกวิธีการใหม่ของ pafyresult =pafy.new(url) ## รับคุณภาพวิดีโอที่ดีที่สุดจาก 'ผลลัพธ์' โดยใช้ getbest()best_quality_video =result.getbest()## คุณสามารถพิมพ์เพื่อดูคุณภาพของ videoprint(best_quality_video)## ดาวน์โหลดโดยใช้การดาวน์โหลด () best_quality_video.download()

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

ปกติ:mp4@1280x72026,638,008 ไบต์ [100.00%] ได้รับแล้ว อัตรา:[ 820 KB/s] ETA:[0 วินาที]

คุณสามารถดาวน์โหลดวิดีโอประเภทใดก็ได้โดยใช้ปุ่ม getbest() เมธอดที่ข้าม preftype เช่น 3gp, mp4, WebM เป็นต้น ดูไวยากรณ์ด้านล่างและลองใช้ด้วยตัวคุณเอง

## ขั้นตอนก่อนหน้าคือ samebest_quality_video =result.getbest(preftype ="mp4")## ขั้นตอนถัดไปเหมือนกัน

ดาวน์โหลดไฟล์เสียงด้วยคุณภาพที่ดีที่สุด

ทำตามขั้นตอนเดียวกับที่เราทำเพื่อดาวน์โหลดวิดีโอ เรียกใช้ getbestaudio() แทนที่จะเป็น getbest() แล้วดาวน์โหลดโดยใช้ ดาวน์โหลด() กระบวนการ. ขั้นแรกให้ลองด้วยตัวคุณเอง หากคุณพบว่ามันยากที่จะดูรหัสต่อไปนี้## กำลังนำเข้าโมดูล

นำเข้า pafy## url ของ videourl ="https://www.youtube.com/watch?v=cr3-J5wDLsM"## เรียกวิธีการใหม่ของ pafyresult =pafy.new(url)## การรับ คุณภาพวิดีโอที่ดีที่สุดจาก 'ผลลัพธ์' โดยใช้ getbest()best_quality_audio =result.getbestaudio()## คุณสามารถพิมพ์เพื่อดูคุณภาพของ videoprint(best_quality_audio)## ดาวน์โหลดโดยใช้ download()best_quality_audio.download( )

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

audio:m4a@128k27,518 ไบต์ที่ได้รับ [100.00%] อัตรา:[ 306 KB/s] ETA:[0 วินาที]'การจัดทำดัชนี Overview.m4a'