博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过SHELL并发获下载数据
阅读量:6276 次
发布时间:2019-06-22

本文共 673 字,大约阅读时间需要 2 分钟。

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

 

具体代码如下:

#!/bin/bash# getFile.sh url=$1fileName=$(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.jpghttp://n.sinaimg.cn/news/w105h70/20171204/lWeS-fypikwt6608399.jpghttp://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

你可能感兴趣的文章
谈DELL收购EMC
查看>>
Spring配置文件(2)配置方式
查看>>
MariaDB/Mysql 批量插入 批量更新
查看>>
ItelliJ IDEA开发工具使用—创建一个web项目
查看>>
學習 React.js:用 Node 和 React.js 創建一個實時的 Twitter 流
查看>>
solr-4.10.4部署到tomcat6
查看>>
切片键(Shard Keys)
查看>>
淘宝API-类目
查看>>
virtualbox 笔记
查看>>
Git 常用命令
查看>>
驰骋工作流引擎三种项目集成开发模式
查看>>
SUSE11修改主机名方法
查看>>
jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试
查看>>
Android:apk签名
查看>>
2(2).选择排序_冒泡(双向循环链表)
查看>>
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
C++零基础教程(一)——何谓编程
查看>>