如何从国内视频网站中批量下载视频到本地?

青小蛙之前遇到了一个问题,要下载一部动画片以方便在没有网络的时候观看。找遍全网,发现在 cntv 有提供完整的视频,并且可以免费播放,于是拿出大神器  youtube-dl 工具下载的时候又发现,想要一次性下载 100 多集的内容,用手动的方法有些不科学,怎么办?

如何从国内视频网站中批量下载视频到本地? 1

嗯,其实有了 youtube-dl,下载是非常非常简单的,只需要使用命令行:

youtube-dl http://tv.cntv.cn/video/VSET100333776130/xxxx

就能将视频文件下载下来了。但是,就像上面这个网站,除了每页的 12 个视频地址外,还有… 10 个翻页

如何从国内视频网站中批量下载视频到本地? 2

在这里感谢 @大鱼老师 帮忙搞定的 118 集全链接。

其实青小蛙首先想到的是使用正则表达式来过滤这些 URL,但在尝试的时候发现,正则这种东西长时间不用居然…居然会忘干净!折腾了很久放弃。

在 tg 好友 @Yagami 的提醒下:「有个在线工具 extract url from text」,青小蛙茅塞顿开,继续折腾。

首先,尝试自己提取链接,总麻烦鱼老师也不是办法。从网页源代码中找到视频部分,然后稍微处理一下:

如何从国内视频网站中批量下载视频到本地? 3

将相对地址替换为绝对地址后,我们就有了粗滤的、包含视频链接的 HTML 代码。

(这里需要手动翻页 10 次,不知道有没有更好的办法)

然后,青小蛙搜索了到了两款国内可以用的从文本中提取链接的在线工具:

其中第一款还有过滤功能,更强大一些,青小蛙这次就用这个了。

如何从国内视频网站中批量下载视频到本地? 4

将代码复制进去,URL Extractor For Web Pages and Text 还支持从文件导入,如果有比较大量的内容需要转换的话。

然后跳过第 2 步,点击 Extract,所有的链接就排列好了,去除不需要的链接,保存为 .txt 文件,完成获取链接的任务。

如何从国内视频网站中批量下载视频到本地? 5

其实,展开第 2 步,是可以直接过滤需要的链接的,在 Only show URLs of these social media sites:  里输入 cntv.cn 就可以了。不过这里默认获得的地址非常规整,也就无所谓了。

最后,使用 youtube-dl 批量下载:

youtube-dl -c -i -a cntv.txt

解释一下:

  • -c 断点续传
  • -i 跳过错误继续下载
  • -a cntv.txt 从这个 txt 文件中获取 URLs 进行批量下载

根据网络条件,需要一段时间下载。

下载完成后,去文件夹看一下下载情况,可能会有部分下载失败,这是只需要挑选出来重新下载就可以了。

嗯,不说了,青小蛙去看动画片了。

43 条留言

  1. rocky 2018/04/16 回复
  2. allen0826 2018/04/16 回复
    • 浮舟 2018/04/16 回复
  3. 子衿 2018/04/16 回复
    • 子衿 2018/04/16 回复
    • 青小蛙 2018/04/16 回复
    • 可乐 2018/04/16 回复
      • 青小蛙 2018/04/16 回复
      • 拉雅 2018/04/17 回复
      • 子衿 2018/04/24 回复
  4. test 2018/04/16 回复
  5. pks 2018/04/16 回复
    • pks 2018/04/16 回复
    • ECCCJ 2018/04/17 回复
  6. pks 2018/04/16 回复
  7. allor 2018/04/16 回复
  8. ziloxiju 2018/04/16 回复
  9. Anonym 2018/04/17 回复
  10. 杍墨 2018/04/18 回复
  11. Fom 2018/04/19 回复
    • Fom 2018/04/19 回复
    • Fom 2018/04/21 回复
      • Fom 2018/04/21 回复
  12. Tesla 2018/04/19 回复
  13. damian 2018/04/19 回复
    • TT 2018/07/18 回复
  14. 大象 2018/04/20 回复
  15. Fom 2018/04/22 回复
    • Fom 2018/04/25 回复
  16. rodger 2018/04/24 回复
  17. Fom 2018/04/25 回复
  18. 安以林 2018/04/28 回复
  19. zzllrr 2018/05/21 回复
  20. 康乐 2018/05/24 回复
    • kl 2018/05/29 回复
  21. wupc11 2018/06/10 回复

写留言