1. 简介
pytube是专门用于爬取youtube视频的绝妙神器,这个第三方库:https://github.com/nficano/pytube 这里只是把这个页面捡重要部分翻译了一下。

pytube 有如下特色:

1. 它是 python 的一个轻量级库,不需要依赖第三方库,因此十分可靠

2. 允许选择下载视频的分辨率

3. 包含命令行工具,可以直接从终端下载视频

 

2. 安装

pip install pytube

 

3.库的使用

from pytube import YouTube
yt = YouTube("http://www.youtube.com/watch?v=Ik-RsDGPI5Y")

# 显示下载的视频文件的文件名(视频标题)
print(yt.title)

# 显示视频文件名
print(yt.filename)

storePath = "E:\youtube小视频"  #视频保存路径
#选择下载分辨率最高的视频,storePath
y.streams.first().download(storePath)

以上便可下载youtube的视频了。

使用多线程爬取
from pytube import YouTube
from threading import Thread

#要爬取的视频链接列表
urllists = ['https://youtube.com/watch?v=2YyOeUYEhN8','https://www.youtube.com/watch?v=rmZyrtBqrvw','https://www.youtube.com/watch?v=i2N8nHMlV4k']
#视频保存位置
storePath = "E:\youtube小视频"

#下载视频
def download_video(url):
YouTube(url).streams.first().download(storePath)

for url in urllists:
t = Thread(target=download_video,args=(url,))
t.start()
t.join()

当然了,也可以先请求一个视频的html页面,获取右边相关视频的url,逐渐递归访问下去,理论上可以爬取youtube全站的视频。