• 1.刚给五岁儿子洗澡,儿子一脸认真地看着我问:妈妈,听奶奶说我是泼妇产的,你就是泼妇吗?我:……

    2.侄子不好好吃饭,嫂子为了让他多吃几个,就对他说:乖,你五岁了所以应该吃五个饺子。于是乖乖吃了五个饺子。吃完后,说:五岁吃五个,二十岁就要吃二十个……那等我88岁的时候……岂不是要被撑死了!这时侄子哭着说:妈妈,以后别吃饺子了,我怕奶奶被撑死……

  • 今天朋友去相亲,女方问:有车吗?男:没 女方问:有房吗?男:没 女方问:有存款吗? 男:没 女:那你有啥? 男:58436  ? 女:明天民政局见!

  • 人生有三样东西不可挽回:时间,机遇,以及说出去的话。

  • 我从不喜欢让别人看见我的眼泪,我宁可让别人觉得我快乐的没心没肺,也不愿让自己看起来委屈可怜。

  • 一天很短,开心了就笑,不开心了就过会儿再笑。

  • 才知道,朋友就像人民币,有真、也有假,可惜我不是验钞机。

  • 他做到了,他悬空了!其实你也可以做到,站在一滩水的左上角就ok!

  • 人与人间的信任,就像是纸片,一旦破损,就不会再回到原来的样子。

  • 有位非常漂亮的女同事,有天起晚了没有时间化妆便急忙冲到公司。结果那天她被记旷工了……吃惊]

  • 老师:“小明,你的梦想是什么?”小明沉思片刻道:“有房有铺,自己当老板,妻子貌美如花,还有官府的兄弟” 老师:“北宋有个人和你一样……”

VPS还可以这样用:下载YouTube视频并上传至百度云网盘

主机评测 素净 7年前 (2018-04-30) 10514次浏览 已收录 8个评论

前一段时间接了个小任务,要把 YouTube 上的几百个视频下载回来,用百度云网盘分享给公司的同事供学习使用。

当老板发邮件问我这事儿是否能办时,我很快就回复说没问题,因为”从 YouTube 下载视频”这种事之前我也不是没做过。网上有一大批在线工具能够嗅探出 YouTube 视频的下载链接,然后直接用常规手段(迅雷啥的)下载就可以了。本地下载工具也不少,如著名的 IDM 就能够直接下载网页上嵌套的视频文件,几乎是万能的。不过,这次的任务有点复杂:一来要下载的文件太多了,我总不能重复操作几百次来下载每个视频吧;二来,还得上传到百度云,这么多视频,靠我家里那小水管,没个几天几夜恐怕是上传不完的,多费劲呀。

然后我就开始琢磨这件事能不能更自动化、更高效一些来实现。呃,放狗上 Google 搜了一下,找到了几个大杀器,参考了一下各位大神的教程后,我也拼凑出了一个解决方案。

VPS还可以这样用:下载YouTube视频并上传至百度云网盘

长话短说:

在美国 VPS 上安装 YouTube 专用下载工具,远程下载想要的 YouTube 视频到服务器上;在 VPS 上安装百度云网盘上传工具,将已经下载到 VPS 中的视频上传到云端。

这个方案的好处很明显:用位于美国的 VPS 下载本身服务器就在美国的 YouTbe 网站视频,速度相当快(实测可以超过 60MB/s)。从美国 VPS 上传文件到百度云,速度虽然受限(一般是几百 Kb 每秒,偶见超过 1MB/s 的),但仍比我在国内本地的上传网速要快得多。更重要的是,这个方案是高度自动化、批量进行的,不用手动对付每个视频。

短话长说:

接下来要写的详细教程,是一个大杂烩。你在网上能找到的特定教程,都是有特定限制条件的,例如你的 VPS 用的是啥操作系统,你要实现多大程度的自动化,等等。在完成这个教程的过程中,我也踩了不少坑,幸亏有万能的 Google 相助。

1 安装 VPS 操作系统

我用的是 DigitalOcean(若使用我的 推荐链接注册 DigitalOcean,您的账户可以立即获得 10 美金,相当于免费获得两个月的使用权)最基础的套餐,每月 5$,20G 的 SSD 储存空间,1T 流量。安装的操作系统是 CentOS 7(请注意操作系统的选择,这很重要,后面我会提到原因),节点为旧金山(据说从大陆访问会比较快)。所以,如果你也是 DO 用户的话,可以完全照我这篇教程来做,准没问题。不是的话,请酌情参考就好了,其他问题我不负责解答哈,毕竟,我是一个伪技术流……

首先要赞下 DigitalOcean 的 VPS 用起来真是方便,点几下鼠标就能创建好一台服务器。理论上用 SSH 密钥登录会更安全,不过我偷懒,只是简单用 LastPass 生成一个几十位长度的随机密码,需要用到就复制粘贴一下好了(请大家不要向我学习……)。禁用 root 账号登录,修改 SSH 端口号什么的,这些安全措施也可以做下,我就不多说了,不太清楚的话请自行 Google。

前面提过 VPS 的操作系统问题,为啥我用 CentOS 7 呢?因为这个版本默认自带的 Python 是 2.7.5(截至本文发布时是这样的),而这个教程中会用到的百度云网盘 Linux 客户端(bypy)依赖的 Python 版本号为 2.7x。一开始我装了个 CentOS 6,其自带 Python 6.x,不符合要求;Google 了好多教程,还是没能装上 Python 2.7x(在 DO 的这个系统上需要自行编译 Python,各种报错很无奈);最后决定放弃 CentOS 6,换成 7,因为有那个工夫折腾 Python,我还不如去看几集美剧是吧,呃,好像我又无意中暴露了什么……

2 安装 youtube-dl

传说中的第一个大杀器终于粗线了:youtube-dl。这个工具可以用来下载一系列国外网站的在线视频,如油管家的。它既有本地客户端,也可以被部署在服务器上。

用 Putty 登入 VPS 后,依次执行以下两条命令:

  1. wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl  
  2. chmod a rx /usr/local/bin/youtube-dl

然后就没了。是的就是这么简单,现在你已经装完 youtube-dl,可以在 VPS 上远程下载指定的 YouTube 视频了。

最简单的命令如下:

  1. youtube-dl video-url

把上面的这个 video-url 换成具体某个 YouTube 视频的 URL 就可以直接下载了。注意,youtube-dl 会默认下载视频到当前执行命令的目录下。

YouTube 有 Playlist 功能,即播放列表,你可以用 Google 账号登录,然后就可以把若干视频添加保存到 Playlist。如果你想要批量下载某个 Playlist 的视频,就可以把前面那条下载命令中的 video-url 换成具体 Playlist 的链接。话句话说,想要一次下载多个 YouTube 视频,你可以考虑用这个 Playlist 功能。

不过呢,像本文开头提到的这个任务,如果我要手动添加几百个视频到 Playlist 那得累到手抽筋:我得先点开每一个视频的具体链接,然后再点两下鼠标才能将之添加进 Playlist。好了不绕弯了,说这么多,就是想烘托出 youtube-dl 的另一个激动人心的功能:支持读取下载链接列表文件。这意味着我可以先把所有下载链接整理好后放进一个 txt 文件,然后让 youtube-dl 去读取这个 txt 文件就行了,接下来它就会自动下载全部的视频。该方法的命令如下:

  1. youtube-dl -a video_url.txt

这里的 -a 参数表示读取外部链接文件。

具体细节操作在后面会提到,请耐心往下看……

3 安装 byby

Byby是一个百度云网盘的 Python 客户端,可在 Linux 环境下通过命令行来操作。

在本文的操作环境下,安装 byby 需要更多的步骤,byby 官网没有介绍那么详细,所以我参考了其他网友的教程。

# 安装 Git

  1. yum install git
  2. **# 安装 Python Pip**
  3. yum -y install epel-release  
  4. yum -y install python-pip  
  5. yum clean all

说明:先装扩展源 EPEL 再装 Python Pip 才不会报错。

# 安装 Requests

  1. pip install requests

完成以上步骤后,才开始正式安装 bypy。

依次执行以下三行命令:

  1. git clone https://github.com/houtianze/bypy byby/  
  2. cd byby/  
  3. python bypy.py list

此时的命令行界面会出现提示,按照以下步骤来授权你的百度云账号使用 bypy 客户端:

  1. 左键选中用于百度账号授权的那行 URL,即可复制该文本(在 Putty 中选中即可复制,不用 Ctrl C),在浏览器中打开此链接。
  2. 登录你的百度账号,然后复制授权码。
  3. 回到 Putty 命令行界面,粘贴授权码进去,回车即可开始启动授权操作。

稍等几秒,授权即可成功。

为了方便在任意目录下使用 bypy 命令,还需要设置如下:

  1. cd /byby  
  2. cp bypy.py /usr/bin

完成以上设置后,如果要将 VPS 某个文件夹下的所有文件上传到百度云,最简单的命令如下:

  1. bypy.py upload

还可以加参数,如 -v 可以显示上传进度:

  1. bypy.py upload -v

默认情况下,本方案上传到百度云的文件全部存放在”我的应用数据 –> bypy”路径下。

4 下载与上传视频

在 Putty 命令行界面中创建一个专门的目录用于存放下载的视频文件,然后 CD 至此目录下,创建一个包含所有下载链接的 txt 文件(使用 vi 命令即可)。在此目录下,执行下载命令:

  1. youtube-dl -c -i -a video_url.txt

呃,眼尖的你可能已经发现了,上面这条命令好像多出了两个参数?没错,youtube-dl 提供了很多有用的附加参数,这里用到的是:

  • -c 断点续传(如果由于意外原因下载中断了,再次启动下载命令时,可以实现断点续传)
  • -i 忽略报错(如果出现某些链接无法打开或者下载的问题,会自动绕过,继续下载其他视频)

下载的话一般很快,但是上传到百度云并没有那么快。为了防止关闭 Putty 窗口后,下载/上传进程就断掉了,可以考虑使用 Screen 远程会话管理功能。简单介绍就是,有了这玩意儿,你可以在 Putty 中启动下载或者上传进程,让其在后台运行,然后关掉 Putty 离开电脑旁该干啥干啥去,有需要的话回来重新打开窗口就可以看到进程依然在跑。

要检查操作系统是否支持 screen,可以直接输入 screen 然后回车,如果提示找不到这个命令,那就是系统还没安装好这个东西。在 CentOS 7 中安装 screen 很简单,一条命令而已:

  1. yum install screen

安装完毕后,输入 screen -S sessionname 即可创建一个名为 sessionname 的 screen 会话窗口。在此窗口中执行想要做的任务,然后同时按下 ctrl a,松开后按下 d,即可将此 session 放到后台去运行,并回到之前的对话窗口。在非 screen 对话窗口中,输入 screen -ls 可以列举已有的 screen 进程。输入 “screen -r 进程代码” 就可以再次调出正在运行的 screen 进程。

由于我要上传到百度云的文件太多了,我不可能守在电脑前等它完成所有任务,所以 screen 这个功能还是非常实用的。


优站云资源丨本站分享的源码资源来源于网络,如侵犯了您的权益请联系站长删除丨未经站长同意请勿转载文章,如需转载请留言丨原文链接:VPS还可以这样用:下载YouTube视频并上传至百度云网盘
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8)个小伙伴在吐槽
  1. :mrgreen: 搭建一个梯子,让他们自己有土逼上自己看。
    烤德香2018-05-01 09:39 回复
  2. 博主,你好,boke112导航特来拜会,已将贵站收录到博客导航的建站技术类,谢谢支持!
    boke112导航2018-05-01 12:22 回复
  3. 朋友 交换链接吗
    快云服务器2018-05-02 08:19 回复
    • 素净
      可以啊 :mrgreen:
      素净2018-05-02 17:10 回复
      • 已添加贵站。我站:http://52kuaiyun.com/,站名:快云服务器
        快云服务器2018-05-03 07:27 回复
        • 素净
          已添加,可在首页右侧友情链接处看到
          素净2018-05-03 14:18 回复