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全站的视频。