这篇文章主要介绍“Shell脚本怎么实现批量下载网络图片”,在日常操作中,相信很多人在Shell脚本怎么实现批量下载网络图片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本怎么实现批量下载网络图片”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
最近为了做好一个天气预报的项目,需要从Yahoo下载一些天气图标,但是由于图标比较多,有80多张。图标是存储在Yahoo Image网站上的。
迅雷不支持https的下载,虽然可以在浏览器下载,但是在浏览器下载太慢,于是写了一个批量下载图片资源的Shell脚本,完美的解决了这个问题。
Yahoo天气图标的地址规则如下:https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/ + 图标名称
比如:
我使用了2种方法,解决了下载的难题,虽然好久没有写Shell脚本了,但是意识和底子还在,写即几十行代码还是比较轻松的。
方法1:
#!/bin/bash # #Decription: #AShellscriptusedtodownloadtheimgesfromInternet. #Author: #LongLuo #Date: #2014-09-1100:16:59 # BASE_URL="https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/" #declareSTIRNGvariable STRING="BeginningImagedownload..." #printvaronscreen echo$STRING sleep1 echo"...." BIG_PNG="ds.png" PNG=".png" echo"url="${BASE_URL} echo"bigpng="${BIG_PNG} for((i=0;i<49;i++));do echoIMG_URL=${BASE_URL}${i}${BIG_PNG} echo"finalurl="${IMG_URL} curl${BASE_URL}${i}${BIG_PNG}-osmall/${i}${PNG} sleep1 done
方法2:
方法2将图片URL地址都写在一个数组里,然后从数组中读取,并重命名,相对来说,不如第一种方法简单:
#Method2 URL_ARRAY=( 'https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/0d.png' 'https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/1d.png' ) NAME_ARRAY=( 'file1.jpg' 'file2.jpg' ) ELEMENTS=${#URL_ARRAY[@]} for((i=0;i<ELEMENTS;i++));do echo${URL_ARRAY[${i}]} echo"savedas${NAME_ARRAY[${i}]}" curl${URL_ARRAY[${i}]}-oimages/${NAME_ARRAY[${i}]} sleep1 done
到此,关于“Shell脚本怎么实现批量下载网络图片”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!
浅谈php一句话木马工作原理
PHP中9个非常非常有用的函数
Shell编程基础(五)Shell数组与Subshell
linux shell 解析命令行参数及while getopts用法小结
目录linuxshell解析命令行参数|getpotsgetpotslinuxshell解析命令行参数|getpotsd...
jenkins如何实现shell脚本化定时执行任务
nginx服务启动程序的Shell脚本怎么写
nginx服务启动程序的Shell脚本怎么写这篇文章主要介绍“ng...
Linux中Shell函数怎么调用
Shell怎么监控httpd服务80端口状态
Shell怎么监控httpd服务80端口状态本篇内容介绍了“She...
shell中怎么根据进程查找指定容器
Linux shell中for循环怎么用
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议