wget脚本批量下载图片

由于友商的旧系统即将下架,而我们的系统中存在对其图片的依赖,为防止数据丢失,计划使用wget工具进行批量下载。我们已知图片的URL前缀和数据库中存储的文件名,通过构建URL并写入文本文件,利用wget的后台下载功能执行命令。下载过程中,通过监控日志确保所有图片成功获取,对出现的错误进行排查和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

友商旧系统要下架,但是我们系统有一批图片依赖他们,他们也不太配合提供,还在沟通中。我们先爬下来做好备份,留一手以防万一。

对方服务器域名前缀固定http://xxx.yyy.com/,文件名${fileName}.jpg我们数据库有存储,直接构造url就可以访问图片;

http://xxx.yyy.com/${fileName}.jpg

把图片链接放在文本文件中,一行一个;如:imgs.txt

http://xxx.yyy.com/aaa.jpg
http://xxx.yyy.com/bbb.jpg
http://xxx.yyy.com/ccc.jpg
http://xxx.yyy.com/ddd.jpg

使用wget批量下载或者爬取图片,新建个文件夹txt放进去执行命令:
(下载的文件名就是后缀xxx.jpg)

wget -b -i imgs.txt

b:表示后台下载;过程日志默认会写到同路径下的wget-log文件

i:表示从文本文件内读取链接

查看实时日志:
tail -2000f wget-log

看到日志文末finish,表示全部执行完毕;
日志中出现的ERROR,排查失败的原因,补下刀;

另:

  1. 如果想在 Windows 上使用wget,前往下载 Windows binaries of GNU Wget ,注意下载系统位数的 exe 文件。
    https://eternallybored.org/misc/wget/
    将下载的 wget.exe 放到:C:\Windows\System32

  2. 下载名称带有顺序的图片,比如电子书扫描图片,可以先批量构造图片url再下载,参考脚本:

echo > img-urls.txt 

for ((i=1; i<=$1; i++))
do
	echo "http://sample.com/bid/123/"$i".jpg" >> img-urls.txt 
done

wget -b -i img-urls.txt 
# 如果链接使用 https,需要在 wget 加上参数 --no-check-certificate,不检查证书。
# wget --no-check-certificate -b -i img-urls.txt 
# 运行脚本,比如参数 $1 指定为 321(表示按照顺序从 1~321 作为名称的图片)
sh download-img.sh 321
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值