python下载youtube视频
谷歌开源了一个新的数据集,BoundingBox,(网址在这里)这个数据集是经过人工标注的视频数据集,自然想将它尽快地运用在实际之中,那么首先需要将其下载下来;可以看到网址上给出的是csv文件,该文件中包含有视频的URL以及一些人工标注信息,本篇博文主要就是根据这个csv文件将视频下载到本地,以供后续使用。
csv的格式截图:
考虑到python的简单易用性,决定采用python实现。那么需要解决两个问题,一是解析csv文件获得视频的URL;二是根据URL将视频下载下来,感谢万能的互联网,这两个功能都有前人已经实现了,那么我们需要做的就是使用这些轮子了。
需要有以下的环境:
1、安装了python(我的是python2.7);
2、能够访问youtube(也就是翻墙);
针对于csv文件的解析,十分简单,暂且不表,但是由URL之后,youtube视频的下载却不是那么简单,幸好在github上找到了一个开源库(链接在这里),按照该项目的操作,安装好pytube之后,在python中就可以直接将其导入进来使用,该网址还给出了使用的例子,在实际运用的过程中遇到了一点问题,在使用的时候需要指定格式与分辨率才能够下载,格式还好说,直接指定成了MP4的,但是分辨率就不能够写死了,所以我将yt.filter('mp4')[-1]强制转换成str,然后取出分辨率对应的位数,再进行下载(比较脑残)。
还需要注意的是直接解析csv文件,会有很多行都是同一个URL(如下图),这是需要判断一下,不同的时候再进行下载;另外,下载后存储的名字也要斟酌一下,我直接将URL中的最后一段命名视频(如下图),这样与csv文件对应比较方便,便于以后的解析与处理。
最后把代码放在这里:
import csv
from pytube import YouTube csvfile = file('youtube_boundingboxes_detection_train.csv', 'rb')
reader = csv.reader(csvfile)
name_old = 'NULL~~'
for line in reader:
name_part = line[0]
name = 'http://youtu.be/' + name_part
if name_old != name:
yt = YouTube(name)
yt.set_filename(name_part)
print_out = str(yt.filter('mp4')[-1])
print_out_part = print_out[23:27]
video = yt.get('mp4', print_out_part)
video.download('tmp_srx/')
#print(name, name_old)
name_old = name csvfile.close()
python下载youtube视频的更多相关文章
- python爬虫脚本下载YouTube视频
python爬虫脚本下载YouTube视频 爬虫 python YouTube视频 工作环境: python 2.7.13 pip lxml, 安装 pip install lxml,主要用xpath ...
- Mac电脑如何快速下载YouTube视频
如果你想下载一些教育类的视频资源,或者是一些学习的教程,那么YouTube是一个很好的视频资源平台.YouTube上面各种各样的资源都有,而且质量都很有保证,尤其是那些订阅量很多的人.可惜的是,You ...
- 使用在线工具下载YouTube视频
YouTube上面有数不尽的视频资源,很多人都想从上面下载自己喜欢的视频,但是不得其法.那么,究竟怎样从YouTube上面下载视频呢?其实,一点也不难.只要你在Google上面搜索free youtu ...
- 安卓手机下载YouTube视频的3种方法
作为全球最大的在线视频网站,YouTube上面的内容可真是应有尽有啊,从教学视频到个人手工艺品制作流程,从各种搞笑视频到电视连续集等等,包罗万象.如果你想下载YouTube视频到电脑上面的话,网上有很 ...
- Python:使用youtube-dl+ffmpeg+FQ软件下载youtube视频
声明:本文所述内容都是从http://blog.csdn.net/u011475134/article/details/71023612博文中学习而来. 背景: 一同学想通过FQ软件下载一些youtu ...
- 如何下载火山小视频-附火山小视频下载youtube视频下载网站
火山小视频下载方法: 1. 打开火山小视频APP 2. 点开某个视频,点击右下角分享按钮,在分享弹框中点击复制链接,或者通过分享到微信QQ等获取视频链接 3. 打开在线免费的火山小视频解析下载工具 h ...
- 下载youtube视频到本地
https://www.clipconverter.cc/ 先通过上面的网站对youtube视频的url 进行解析获得下载链接地址 获得链接地址后 可通过阿里云香港服务器去下载 , 速度比较快 在阿里 ...
- python 下载bilibili视频
说明: 1.清晰度的选择要登录,暂时还没做,目前下载的视频清晰度都是默认的480P 2.进度条仿linux的,参考了一些博客修改了下,侵删 3.其他评论,弹幕之类的相关爬虫代码放在了https://g ...
- youtube-dl下载youtube视频时查看分辨率以及选择分辨率下载
1.查看分辨率: youtube-dl -F https://www.youtube.com/watch?v=_NMf1TpiFwY 2.根据分辨率下载,比如下载1280*720的mp4,前面的数字是 ...
随机推荐
- Oracle分析函数-排序排列(rank、dense_rank、row_number、ntile)
(1)rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名. (2)dense_rank函数返回一个唯一的值, ...
- Oracle:使用nginx做为代理访问
nginx 必须启用 启用 --with-stream 模块. 可下载源码编译. nginx.conf的配置: worker_processes ; events { worker_connectio ...
- [Model] GoogLeNet
主要就是对Inception Module的理解 网络结构分析 没有densy layer竟然,这是给手机上运行做铺垫么. 一个新型的模块设计: [不同类型的layer并行放在了一起] 最初的设计: ...
- Oracle中add_months()函数的用法
查询当前时间1个月以前的时间: select add_months(sysdate,-1) from dual; 查询当前时间1个月以后的时间: select add_months(sysdate,1 ...
- fs项目---->migrate-mongo的使用(一)
tw项目中用的是mongo数据库,数据的迁移也是需求的一部分.这时我们可以使用migrate-mongo在nodejs中方便的进行数据的迁移,以下记录一下使用的过程. 一.migrate-mongo的 ...
- 用开源项目ActivityOptionsICS让ActivityOptions的动画实现兼容
我之前写过一篇文章是讲解ActivityOption的api方法的(http://www.cnblogs.com/tianzhijiexian/p/4087917.html),当时吐槽各种动画不兼容, ...
- WIN7/XP用注册表关联指定后缀名和打开程序(手动【图文】和C编程两种实现)
前言: 本文是基本原理介绍和手动的操作.程序实现该功能在http://blog.csdn.net/arvon2012/article/details/7839556,同时里面有完整代码的下载. 今天在 ...
- Kindle2018 一周使用报告
使用2018年年末刚刚发布的KPW有一周时间了,可以借这个机会来对这部设备做一个使用报告了. 那咱们就参考如下描述吧: 1.轻薄便携:6英寸的屏幕,11.6厘米*16.7厘米的机身尺寸,加上仅有8.2 ...
- CCPC-Wannafly Winter Camp Day3 Div1 - 精简改良 - [生成树][状压DP]
题目链接:https://zhixincode.com/contest/14/problem/D?problem_id=206 样例输入 1 5 5 1 2 1 1 3 1 2 4 1 2 5 1 ...
- HDU 5992/nowcoder 207K - Finding Hotels - [KDTree]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5992 题目链接:https://www.nowcoder.com/acm/contest/207/K ...