shell 同时执行多任务下载视频
本文为博主原创,转载请注明出处:
shell 脚本不支持多线程,但我们需要用shell 脚本同时跑多个任务时怎么让这些任务并发同时进行,可以采用在每个任务 后面 添加一个 & ,让其在后台运行,相互之间不影响;
这边的使用场景是 需要用shell 脚本同时下载很多个视频,如果用shell 脚本一个一个进行下载则很慢,所以考虑用shell 的& 同时执行下载任务;
1. 寻找一个可无限下载视频的地址;由于 腾讯视频,优酷视频等视频下载时,都需要登录,通过翻阅各种网站,
找到一个 可以无限下载视频的网址:https://mixkit.co/free-stock-video/ ; 点开该网址,随便点击打开一个网站,如下所示,找到视频地址:
通过界面找寻到一个视频下载链接 如下: https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4
查看很多视频之后,发现这个网站对同一个分类的视频,按照序号递增的方式进行命名的,所以只需要找到 一个文件下载路径之后,就可以修改路径中的数字,获得新的下载链接进行下载;
2. 编写shell 脚本进行下载:
思路:将下载的链接放入到一个文件中,shell 脚本不断遍历文件中的url 链接,进行后台同时并发下载:
创建 downloadUrl.txt ,并放入 文件路径:
https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4074-large.mp4 https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4075-large.mp4 https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4076-large.mp4 https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4
创建 download.sh , 脚本与 downloadUrl.txt 位于同一个目录,脚本内容如下:
#!/bin/bash
for content in `cat downloadUrl.txt`
do
{
wget $content
}&
done
3. 执行脚本如下:
sh download.sh
运行之后就会发现,会同时执行下载任务,从而实现并发下载
相关文章
- flowable异步任务加锁流程
- Teradata天睿公司在业内率先将DevOps扩展至数据仓库
- 时延检测利器-uftrace
- 八个 Python 数据生态圈的前沿项目
- 数据科学家必知的7款Python工具
- 十种程序语言帮你读懂大数据的“秘密”
- Spark多语言编程实践
- 别老扯什么Hadoop了,你的数据根本不够大
- 红帽LINUX 5下安装Hadoop 2.0.0-alpha
- Hadoop0.20更新笔记
- 我们一起分析下BL(B)/LDR指令
- Hadoop入门经典
- 手把手教你用Pycharm连接远程Python环境
- 鸿蒙移植树莓派(上)搭建环境下载源码
- 微软:Microsoft Defender 将默认全自动执行补救措施
- 终于来了,OpenAI 正式开放 ChatGPT API
- [云原生] Kubernetes(k8s)健康检查详解与实战演示(就绪性探针 和 存活性探针)
- OpenAI 宣布开放 API,开发人员可将 ChatGPT 集成到自己的产品中
- 想要学好 Python,这七个 Github 仓库你值得拥有!
- F5 NGINX:API蔓延问题出现的六大迹象