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

ไลบรารี Python PyTube เพื่อดาวน์โหลดวิดีโอ youtube


คุณรู้จัก “youtube” ใช่ไหม? ใช่เลย เว็บแชร์วิดีโอที่ดังที่สุดโดยเฉพาะในอินเดีย ไลบรารี Python PyTube เพื่อดาวน์โหลดวิดีโอ youtube โดยส่วนใหญ่ คุณชอบวิดีโอบางรายการและพยายามดาวน์โหลดวิดีโอนั้นเพื่อตรวจสอบในภายหลัง/ออฟไลน์ จากนั้นคุณเจอแอพ “youtube-downloader” เพื่อดาวน์โหลดวิดีโอ youtube จากเว็บไซต์ youtube แต่แอพส่วนใหญ่มีข้อจำกัดบางอย่าง (หากคุณใช้งานฟรี) หรือต้องเสียเงิน แต่คุณเคยคิดที่จะสร้างโปรแกรมของเราเองเพื่อดาวน์โหลดวิดีโอ youtube หรือไม่? ถ้าไม่ใช่คุณ คุณควรลองใช้ไลบรารี python เพราะมันง่ายมาก Python มีห้องสมุด "pytube" เพื่อดาวน์โหลดวิดีโอจาก youtube ห้องสมุดนี้ช่วยให้เราดาวน์โหลดวิดีโอจากเว็บได้

Pytube ไม่ใช่ไลบรารี่มาตรฐาน เราต้องติดตั้งมัน ด้วย pip ติดตั้งง่าย −

pip ติดตั้ง pytubeCollecting pytube กำลังดาวน์โหลด https://files.pythonhosted.org/packages/af/56/c9b484e93e1f3a4ef6aefbc1e68258121831007938556daf968ab4519c9c/pytube-9.3.5-py3-none-py.whl แพ็คเกจ:ติดตั้งแล้ว 3.5 ตัว ก่อน> 

กำลังดาวน์โหลดวิดีโอ

ตามที่เราเห็นในบทความ การดาวน์โหลดวิดีโอ youtube โดยใช้ pytube นั้นง่ายมาก

เริ่มต้นด้วยการนำเข้าคลาส youtube:

จาก pytube นำเข้า YouTube

ตอนนี้เรามาลองรับลิงค์ของวิดีโอกัน ตัวอย่างเช่น ให้เลือกวิดีโอที่คุณต้องการ -

yt =YouTube('https://www.youtube.com/watch?v=-KnAZcXzxRA')

pytube API ทำให้ข้อมูลทั้งหมดเข้าถึงได้ง่าย ตัวอย่างเช่น นี่คือวิธีที่คุณจะได้ชื่อวิดีโอ:

>>>> yt.title' Redmi Note 7 กล้อง 48MP ปลอม? อธิบาย \U0001f525\U0001f525\U0001f525'

และเพื่อให้ได้ URL ภาพขนาดย่อ -

>>> yt.thumbnail_url'https://i.ytimg.com/vi/-KnAZcXzxRA/default.jpg'

ตอนนี้เราต้องเลือกรูปแบบสื่อ โมดูล Pytube ให้รูปแบบสื่อต่อไปนี้เพื่อดาวน์โหลดวิดีโอ -

>>> yt.streams.all()[<สตรีม:itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F" acodec="mp4a .40.2">, <สตรีม:itag="43" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp8.0" acodec="vorbis">, <สตรีม:itag=" 18" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.42001E" acodec="mp4a.40.2">, <สตรีม:itag="36" mime_type="video/3gpp" res="240p" fps="30fps" vcodec="mp4v.20.3" acodec="mp4a.40.2">, <สตรีม:itag="17" mime_type="วิดีโอ/3gpp" res="144p" fps="30fps " vcodec="mp4v.20.3" acodec="mp4a.40.2">, <สตรีม:itag="137" mime_type="video/mp4" res="1080p" fps="30fps" vcodec="avc1.640028"> , <สตรีม:itag="248" mime_type="video/webm" res="1080p" fps="30fps" vcodec="vp9">, <สตรีม:itag="136" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.4d401f">, <สตรีม:itag="247" mime_type="video/webm" res="720p" fps="30fps" vcodec="vp9">, <สตรีม:itag="135" mime_type="video/mp4" res="480p" fps="30fps" vcodec="avc1.4d401f">, <สตรีม:itag="244" mime_t ype="video/webm" res="480p" fps="30fps" vcodec="vp9">, <สตรีม:itag="397" mime_type="video/mp4" res="None" fps="30fps" vcodec ="av01.0.05M.08">, <สตรีม:itag="134" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.4d401e">, <สตรีม:itag="243" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp9">, <สตรีม:itag="396" mime_type="video/mp4" res="None" fps=" 30fps" vcodec="av01.0.05M.08">, <สตรีม:itag="133" mime_type="video/mp4" res="240p" fps="30fps" vcodec="avc1.4d400d">, <สตรีม :itag="242" mime_type="video/webm" res="240p" fps="30fps" vcodec="vp9">, <สตรีม:itag="395" mime_type="video/mp4" res="None" fps="30fps" vcodec="av01.0.05M.08">, <สตรีม:itag="160" mime_type="video/mp4" res="144p" fps="30fps" vcodec="avc1.4d400c"> , <สตรีม:itag="278" mime_type="video/webm" res="144p" fps="30fps" vcodec="vp9">, <สตรีม:itag="394" mime_type="video/mp4" res="ไม่มี" fps="30fps" vcodec="av01.0.05M.08">, <สตรีม:itag="140" mime_type="audio/mp4" abr="128kbps" acodec="mp4a.40.2">, <สตรีม:itag="171" mime_type="audio/webm" abr="128kbps" acodec="vorbis">, <สตรีม:itag="249" mime_type="audio/webm" abr="50kbps" acodec="opus ">, <สตรีม:itag="250" mime_type="audio/webm" abr="70kbps" acodec="opus">, <สตรีม:itag="251" mime_type="audio/webm" abr="160kbps" acodec="opus">]>>>

สมมติว่าเราต้องการรับสตรีมแรก:

>>> สตรีม =yt.streams.first()>>> สตรีม<สตรีม:itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F " acodec="mp4a.40.2">

วิดีโอจะถูกดาวน์โหลดไปยังเส้นทางปลายทางของคุณ -

>>> stream.download('f:/')'f:/Redmi Note 7 อธิบายกล้อง 48MP ปลอม \U0001f525\U0001f525\U0001f525.mp4'

หรือคุณสามารถดาวน์โหลดวิดีโอลงในไดเร็กทอรีการทำงานปัจจุบัน -

>>> stream.download()'C:\\Python\\Python361\\Redmi Note 7 อธิบายกล้อง 48MP ปลอม \U0001f525\U0001f525\U0001f525.mp4'

ตอนนี้เราเห็นวิดีโอถูกดาวน์โหลดในเส้นทางปลายทางของเรา:

ไลบรารี Python PyTube เพื่อดาวน์โหลดวิดีโอ youtube