-c -o linux_Linux专题|wget批量下载使用数据

我们平时下载文件或者数据,都是鼠标直接点击很方便。在Linux或者服务器中,我们也可以用wget+下载链接帮忙解决。但问题来了,如果我们要下载多个数据时,岂不是要鼠标点击几百下,或者运行几十个或者几百个wget+下载链接呢?

这种方法可以,但很显然不是一种便捷的方法,这里给推荐一种wget批量下载的方法。如下图中蓝色的部分所示,每个数字表示这一天对应的数据,我们希望下载每一天的数据,我们应该这么做呢?

81d6ffaf607b545f07769d52559e49b0.png

解决方法:利用linux中的wget命令

  • 首先我们要获得这些文件的文件名,可以右击链接,获得链接地址。比如
http://disc2.gesdisc.eosdis.nasa.gov/data//TRMM_L3/TRMM_3B42_Daily.7/1998/01/3B42_Daily.19980112.7.nc4​disc2.gesdisc.eosdis.nasa.gov

然后可以把这个链接地址放入一个TXT文档里面,接着我们获得其他文件数据的地址。一般情况下,比如下载1981-2010的数据,链接地址变化都很小,可以手工改动,改成这种:

2c392331abf40ad0ff5f212870293a0b.png
  • 在linux系统中建立一个新的文件夹,比如yxk(mkdir yxk)。然后把这个txt文件导入进去。接着使用命令wget –b –i XX.txt即可。这里-b是表示后台下载,你关掉linux之后仍然会下载,-i就是表示批量下载,一个一个读取txt文档里面的链接并进行下载。当然这里也可以通过wget url网站直接下载。
  • 这时会多出一个wget-log文档,里面可以查看下载进度。使用命令tail –f wget-log。如果查看结束,需要退出使用Ctrl+C即可。这里一段时间之后就会下载完成了。

注意:疑难解答

一般下载数据时可能会碰到很多麻烦,这里针对我最近碰到的问题进行讲解和总结:

  • 如果链接很麻烦时怎么办,比如文件数量特别多,无法手工改动链接,我下载的一个数据文件数量有365*19,根本无法用手来改动。于是我通过程序产生全部的链接,这里以ncl为例,matlab和python完全可以用更短的命令完成,具体脚本如下图:

86afd0b44fbc101fa7cc276442d47e88.png

806d50cc233bb03c8951400a6872d4e4.png
  • 有些网站下载数据需要登录,所以我们必须把这个数据下载网页注册账号和密码也加上。这个分为两种,如果是http网站就通过—http-user=xxx来设定。如果为ftp就把http改为ftp。大致如下:wget --http-user=用户名(如yangxk) --http-password=密码(如123456) -b -i file2.txt
  • 如果我们下载数据碰到这个问题:To connect to http://disc2.gesdisc.eosdis.nasa.gov insecurely, use ‘--no-check-certificate’.那么我们在输入wget命令时需要加入:--no-check-certificate 。如下所示:

wget --http-user=用户名(如yangxk) --http-password=密码(如123456) --no-check-certificate -b -i file2.txt

  • 如果批量下载到一半了,突然发现下载错了。此时可以终止这次下载,先输入命令:ps aux |grep wget,找到进程号,然后用命令kill -9 进程号终止。
关注“happy科研”公众号和CSDN博客(ID:weixin_44267600),获取更多有趣有料的干货。
有任何问题,请发邮件至:yfangnuist@gmail.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值