通过SHELL并发获下载数据

手头上有1万个URL , 尝试用迅雷下载, 结果放在列表中就挂了 ,与同事沟通cat + xargs 能快速实现 .  

 

具体代码如下:

#!/bin/bash
# getFile.sh
url=$1 fileName=$(echo $1 | awk -F'/' '{print $NF}') # echo ${fileName} if [ ! -f ${fileName} ] ; then
# 将图片保存在当前目录下
curl ${url} -o ${fileName} 

fi

 

urlList.txt 

http://n.sinaimg.cn/news/w105h70/20171204/_0cD-fypikwt6188396.jpg
http://n.sinaimg.cn/news/w105h70/20171204/lWeS-fypikwt6608399.jpg
http://n.sinaimg.cn/sports/transform/w105h70/20171204/W3fY-fypikwt6000765.jpg

 

执行调用:

cat urlList.txt | xargs -P3 -n1  bash getFile.sh

其中-P3 代表3个并发

 

检查执行效果 :

ps -ef | grep curl -c

上面是3个并打, 显示为4  ,是应为 grep curl 也计算在内了

 

缺点:

对于获取失败的数据,没实现记录及重新获取. 

转载于:https://www.cnblogs.com/firmament/p/7976731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值