精华内容
下载资源
问答
  • MODIS数据批量下载之wget

    千次阅读 多人点赞 2020-03-13 22:43:42
    MODIS批量数据下载——wget 自2018年4月20日起,NASA已经禁止用户通过FTP的方式下载数据,但是有很多用户不熟悉Python script下载方式,本文介绍一种批量下载MODIS数据的途径——wget。 首先登陆LAADS DAAC的网站 ...

    MODIS批量数据下载——wget

    自2018年4月20日起,NASA已经禁止用户通过FTP的方式下载数据,但是有很多用户不熟悉Python script下载方式,本文介绍一种批量下载MODIS数据的途径——wget。

    首先登陆LAADS DAAC的网站

    https://ladsweb.modaps.eosdis.nasa.gov/search/
    在这里插入图片描述
    选择一个你需要的产品,在这里我选择MOD021KM。
    在这里插入图片描述
    在选择完你需要的数据后,为你的数据添加“时间区间”,比如:我选择的是2020年2月28日至2020年3月13日,然后点击“Add Date”添加时间。
    在这里插入图片描述
    在LOCATION这一步,选择数据的空间范围,可以手动选择,也可以自己设定经纬度,我采用的是后者,我添加了经纬度112, -10, 150, 40 。需要注意的一点是,西经和南纬经纬度前面需要添加“负号”,之后你所设定的区域就会在页面地图中显示。
    在这里插入图片描述
    现在,进行到FILES这一步啦,点击“select all”选中你所要下载的数据。
    在这里插入图片描述
    在REVIEW ORDER这一步,点击“submit order”,提交你所选的数据,然后等待服务器发送给你的邮件,邮件中会包含HTTP链接、序列号等说明。
    在这里插入图片描述
    这是我收到的邮件,请看下图。
    在这里插入图片描述
    邮件详细的给出了数据的网址:https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501425225/
    这就是上图中第5个蓝色的连接。到这一步我们就获取了wget下载所需的网址了。

    到这一步,远还没有结束,因为你的电脑还没有安装wget。下面开始安装wget。打开下面的链接,下载你需要的wget版本。

    https://eternallybored.org/misc/wget/

    你可以下载ZIP压缩文件或者exe执行文件,64bit或者32bit。
    在这里插入图片描述
    这里我下载的是1.20.3version的exe执行文件,在这里我下载到 D:\software 文件夹,也就是在D:\software文件夹有一个wget.exe执行文件。

    在你的电脑中输入快捷键 win+R,输入cmd,打开你电脑的终端。
    在这里插入图片描述
    在你的终端中输入:
    wget -e robots=off -m -np -R .html,.tmp -nH --cut-dirs=3 “***https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501425222/***” --header “Authorization: Bearer 7SX8CE76-0CF8-12Y6-B547-AF537R77E631” -P H:\MOD02

    其中*“https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501425222/”*就是我们邮件中提到过的数据的下载地址。7SX8CE76-0CF8-12Y6-B547-AF537R77E631 是你的注册的earth data账号里面自己设定的秘钥。H:\MOD02是下载的数据保存路径。

    需要注意的是,如果你的wget.exe没有位于默认路径的话,你需要用cd指令,先切换到wget.exe所在的文件夹,在执行上述的指令。
    在这里插入图片描述
    这样wget成功运行,你的数据便自动批量下载啦!
    在这里插入图片描述
    有关Earth data 的账号注册,请参考下面的链接:

    https://www.jianshu.com/p/0ecce029c876

    如果派上用场的话,希望大家点个赞! 如有疑问欢迎留言。

    展开全文
  • wget批量下载

    千次阅读 2011-05-23 20:11:13
    wget wget是一个强力方便的命令行方式下的下载工具。本文介绍了wget的基本用法。 网络用户有时候会遇到需要下载一批文件的情况,有时甚至需要把整个网站下载下来或者制作网站的镜像。在Windows下的用户都比较...

    wget

    wget是一个强力方便的命令行方式下的下载工具。本文介绍了wget的基本用法。

    网络用户有时候会遇到需要下载一批文件的情况,有时甚至需要把整个网站下载下来或者制作网站的镜像。在Windows下的用户都比较熟悉 Teleport,webzip等等网站下载工具,实际上Linux中也完全可以做到这样的功能,那就是利用wget工具。wget是一个命令行工具,用来下载网络文件或者整个网站,它具有自动重试、断点续传、支持代理服务器等等强大的功能。它可以完全替代ftp客户端。wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。

    wget虽然功能强大,但是使用起来还是比较简单的,基本的语法是:

    wget [参数列表] URL

    下面就结合具体的例子来说明一下wget的用法。

    1、下载整个http或者ftp站点。

    wget http://place.your.url/here

    这个命令可以将http://place.your.url/here 首页下载下来。使用-x会强制建立服务器上一模一样的目录,如果使用-nd参数,那么服务器上下载的所有内容都会加到本地当前目录。

    wget -r http://place.your.url/here

    这个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址同样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下来!基于这个原因,这个参数不常用。可以用-l number参数来指定下载的层次。例如只下载两层,那么使用-l 2。 要是您想制作镜像站点,那么可以使用-m参数,例如:

    wget -m http://place.your.url/here

    这时wget会自动判断合适的参数来制作镜像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。

    2、断点续传。

    当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如:

    wget -c http://the.url.of/incomplete/file

    使用断点续传要求服务器支持断点续传。-t参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。-T参数表示超时等待时间,例如-T 120,表示等待120秒连接不上就算超时。

    3、批量下载。

    如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt

    然后用命令:

    wget -i download.txt

    这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

    4、选择性的下载。

    可以指定让wget只下载一类文件,或者不下载什么文件。例如:

    wget -m –reject=gif http://target.web.site/subdirectory

    表示下载http://target.web.site/subdirectory,但是忽略 gif 文件。–accept=LIST 可以接受的文件类型, –reject=LIST 拒绝接受的文件类型。

    5、密码和认证。

    wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:

    --http-user=USER 设置HTTP用户–http-passwd=PASS 设置HTTP密码

    对于需要证书做认证的网站,就只能利用其他下载工具了,例如curl。

    6、利用代理服务器进行下载。

    如果用户的网络需要经过代理服务器,那么可以让wget通过代理服务器进行文件的下载。此时需要在当前用户的目录下创建一个 .wgetrc 文件。文件中可以设置代理服务器:

    http-proxy = 111.111.111.111:8080ftp-proxy = 111.111.111.111:8080

    分别表示http的代理服务器和ftp的代理服务器。如果代理服务器需要密码则使用:

    –proxy-user=USER 设置代理用户–proxy-passwd=PASS 设置代理密码

    这两个参数。

    使用参数–proxy=on/off 使用或者关闭代理。

    7、设定下载时间

    如果你需要在你的办公电脑上通过和其他同事共享的一个连接来下载一些很大的文件,而且你希望你的同事不会因为网络速度的减慢而收到影响,那你就应该尽量避开高峰时段。当然,不需要在办公室里等到所以人都走掉,也不需要在家里用完晚饭后还惦记着要上网下载一次。

    用at来就可以很好的定制工作时间:

    $ at 2300
    warning: commands will be executed using /bin/sh
    at> wget http://place.your.url/here
    at> press Ctrl-D

    这样,我们设定了下载工作在晚上11点进行。为了使这个安排能够正常进行,请确认atd这个后台程序正在运行。

    8、定时下载

    当你需要下载大量的数据,而且你又没有享有足够的带宽,这个时候你会经常发现在你安排的下载任务还没有完成,一天的工作却又要开始了。

    作为一个好同事,你只能停掉了这些任务,而开始另外的工作。然后你又需要反复地重复使用”wget -c”来完成你的下载。这样肯定太繁琐了,所以最好是用crontab来自动执行。创建一个纯文本文件,叫做”crontab.txt”,包含下面的内容:

    0 23 * * 1-5 wget -c -N http://place.your.url/here
    0 6 * * 1-5 killall wget

    这个crontab文件指定某些任务定期地执行。前五列声明是什么时候执行这个命令,而每行的剩余部分则告诉crontab执行什么内容。

    前两列指定了每天一到晚上11点就开始用wget下载,一到早上6点就停止一切wget下载。第三四列的*表示每个月的每一天都执行这个任务。第五列则指定了一个星期的哪几天来执行这个程序。 –”1-5″表示从星期一到星期五。

    这样在每个工作日的晚上11点,下载工作开始,到了上午的6点,任何的wget任务就被停掉了。你可以用下面的命令来执行crontab:

    $ crontab crontab.txt

    wget的这个“-N”参数将会检查目标文件的时间戳,如果匹配了,下载程序就会停止,因为它说明整个文件已经下载完全了。

    用“crontab -r”可以删除这个计划安排。我已经多次采用这种方法,通过共享的电话拨号来下载过很多的ISO镜像文件,还是比较实用的。

    9、下载动态变化的网页

    有些网页每天都要根据要求变化好几次。所以从技术上讲,目标不再是一个文件,它没有文件长度,因此”-c”这个参数也就失去了意义。

    例如:一个PHP写的并且经常变动的linux周末新闻网页:

    $ wget http://lwn.net/bigpage.php3

    我办公室里的网络条件经常很差,给我的下载带了很大的麻烦,所以我写了个简单的脚本来检测动态页面是否已经完全更新了。

    #!/bin/bash
    #create it if absent
    touch bigpage.php3
     
    #check if we got the whole thing
    while ! grep -qi bigpage.php3
    do
    rm -f bigpage.php3
     
    #download LWN in one big page
    wget http://lwn.net/bigpage.php3
     
    done

    这个脚本能够保证持续的下载该网页,直到网页里面出现了””,这就表示该文件已经完全更新了.

    10、对于ssl和Cookies怎么办?

    如果你要通过ssl来上网,那么网站地址应该是以 https: 来开头的,在这样的情况下你就需要另外一种下载工具,叫做curl,它能够很容易获得.有些网站迫使网友在浏览的时候必须使用cookie。所以你必须从在网站上得到的那个Cookie里面得到“Cookie:”这个参数.这样才能保证下载的参数正确。对于lynx和Mozilla的Cookie的文件格式,用下面的:

    $ cookie=$( grep nytimes ~/.lynx_cookies |awk {printf(%s=%s;”,$6,$7)} )

    就可以构造一个请求Cookie来下载 http://www.nytimes.com 上的内容。当然,你要已经用这个浏览器在该网站上完成注册。

    w3m使用了一种不同的,更小巧的Cookie文件格式:

    $ cookie=$( grep nytimes ~/.w3m/cookie |awk {printf(%s=%s;”,$2,$3)} )

    现在就可以用这种方法来下载了:

    $ wgetheader="Cookie: $cookie" http://www.nytimes.com/reuters/technology/tech-tech-supercomput.html

    或者用curl工具:

    $ curl -v -b $cookie -o supercomp.html http://www.nytimes.com/reuters/technology/tech-tech-supercomput.htm

    11、如何建立地址列表?

    到现在为止我们下载的都是单个文件或者是整个网站.有的时候我们需要下载某个网页上链接的大量文件,但没有必要把它整个网站都镜像下来.比如说我们想从一个依次排列的100首歌里面下载前20首.注意,这里”–accept”和”–reject”参数是不会起作用的,因为他们只对文件操作起作用.所以一定要用”lynx -dump”参数来代替。

    $ lynx -dump ftp://ftp.xxx.com/pub/lg/ |grep gz$ |tail -10 |awk {print $2} > urllist.txt

    lynx的输出结果可以被各种GNU文本处理工具过虑.在上面的例子里,我们的链接地址是以”gz”结尾的,并且把最后10个文件地址放到 urllist.txt文件里.然后我们可以写一个简单的bash脚本来自动下载这个文件里的目标文件:

    $ for x in $(cat urllist.txt)
    > do
    > wget $x
    > done

    这样我们就能够成功下载Linux Gazette网站(ftp://ftp.xxx.com/pub/lg/)上的最新10个论题。

    12、扩大使用的带宽

    如果你选择下载一个受带宽限制的文件,那你的下载会因为服务器端的限制而变得很慢.下面这个技巧会大大缩短下载的过程.但这个技巧 需要你使用curl并且远程服务器有多个镜像可以供你下载.例如,假设你想从下面的三个地址下载Mandrake 10.0:

    url1=http://ftp.eecs.umich.edu/pub/linux/mandrake/iso/Mandrake10.0-inst.iso
    url2=http://ftp.rpmfind.net/linux/Mandrake/iso/Mandrake10.0-inst.iso
    url3=http://ftp.wayne.edu/linux/mandrake/iso/Mandrake10.0-inst.iso

    这个文件的长度是677281792个字节,所以用curl程序加”–range”参数来建立三个同时进行的下载:

    $ curl -r 0-199999999 -o mdk-iso.part1 $url1 &
    $ curl -r 200000000-399999999 -o mdk-iso.part2 $url2 &
    $ curl -r 400000000- -o mdk-iso.part3 $url3 &

    这样就创建了三个后台进程.每个进程从不同的服务器传输这个ISO文件的不同部分.这个”-r”参数指定目标文件的字节范围.当这三个 进程结束后,用一个简单的cat命令来把这三个文件衔接起来– cat mdk-iso.part? > mdk-80.iso.(强烈建议在刻盘之前先检查md5) 你也可以用”–verbose”参数来使每个curl进程都有自己的窗口来显示传输的过程。

    wget还有很多有用的功能,需要您来挖掘。

    二、wget常用参数:

    1、启动类参数

    这一类参数主要提供软件的一些基本信息;

    -V,–version 显示软件版本号然后退出;

    -h,–help 显示软件帮助信息;

    -e,–execute=COMMAND 执行一个 “.wgetrc”命令

    -b, –background 启动后转入后台执行,记录文件写在当前目录下”wget-log”文件中。

    以上每一个功能有长短两个参数,长短功能一样,都可以使用。需要注意的是,这里的-e参数是执行一个.wgettrc的命令,.wgettrc命令其实是一个参数列表,直接将软件需要的参数写在一起就可以了。

    2、文件处理参数

    这类参数定义软件log文件的输出方式等;

    -o,–output-file=FILE  将软件输出信息保存到文件;

    -a,–append-output=FILE 将软件输出信息追加到文件;

    -d,–debug 显示输出信息;

    -q,–quiet  不显示输出信息;

    -i,–input-file=FILE  从文件中取得URL;

    3、下载参数

    下载参数定义下载重复次数、保存文件名等;

    -t,–tries=NUMBER  是否下载次数(0表示无穷次)

    -O –output-document=FILE 下载文件保存为别的文件名

    -nc, –no-clobber  不要覆盖已经存在的文件

    -c, –continue 启用断点传输,接着下载没下载完的文件

    -N,–timestamping 只下载比本地新的文件

    -T,–timeout=SECONDS 设置超时时间

    -w, –wait=SECONDS 两次尝试之间间隔SECONDS秒

    –waitretry=SECONDS 在重新链接之间等待1…SECONDS秒

    –random-wait 在下载之间等待0…2*WAIT秒

    -Q, –quota=NUMBER 设置下载的容量限制

    -E, –html-extension将所有text/html文档以.html扩展名保存

    -m, –mirror 等价于 -r -N -l inf -nr

    -p, –page-requisites 下载显示HTML文件的所有图片递归下载中的包含和不包含(accept/reject)

    -Y,–proxy=on/off 关闭代理

    4、目录参数

    目录参数主要设置下载文件保存目录与原来文件(服务器文件)的目录对应关系;

    -nd –no-directories  不建立目录

    -x,–force-directories  强制建立目录

    -nH, –no-host-directories 不创建主机目录

    -P, –directory-prefix=PREFIX 将文件保存到目录 PREFIX/…

    5、HTTP参数

    HTTP参数设置一些与HTTP下载有关的属性;

    –http-user=USER 设置HTTP用户

    –http-passwd=PASS 设置HTTP密码

    –proxy-user=USER 设置代理用户

    –proxy-passwd=PASS 设置代理密码

    6、递归参数设置

    在下载一个网站或者网站的一个目录的时候,我们需要知道的下载的层次,这些参数就可以设置;

    -r,–recursive 下载整个网站、目录(小心使用)

    -k, –convert-links 转换非相对链接为相对链接(下载网页时很有用)

    -K, –backup-converted 在转换文件X之前,将之备份为 X.orig

    -l,–level=NUMBER 下载层次

    -np, –no-parent不要追溯到父目录

    7、递归允许与拒绝选项参数

    下载一个网站的时候,为了尽量快,有些文件可以选择下载,比如图片和声音,在这里可以设置;

    -A,–accept=LIST 可以接受的文件类型

    -R,–reject=LIST 拒绝接受的文件类型

    -D,–domains=LIST 可以接受的域名

    –exclude-domains=LIST 拒绝的域名

    -L,–relative  只下载相对链接

    –follow-ftp 只下载HTML文档中的FTP链接

    -H,–span-hosts  可以下载外面的主机

    -I,–include-directories=LIST 允许的目录

    -X,–exclude-directories=LIST  拒绝的目录

    展开全文
  • wget批量下载yum仓库rpm文件

    千次阅读 2019-10-14 09:47:54
    批量下载yum仓库rpm包欢迎使用wget工具语法格式: wget [参数]参考 欢迎使用wget工具 wget命令用来从指定的URL下载文件。 wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的...

    欢迎使用wget工具

    wget命令用来从指定的URL下载文件。
    wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
    wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。
    示例:
    wget -r -l9 https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/6/x86_64/ -e robots=off

    语法格式: wget [参数]

    命令 参数 路径
    wget [选项]…
    展开全文
  • Centos | wget 批量下载

    2020-06-13 23:04:18
    新建url文件,以名filelist....执行命令下载 wget -bc -i filelist.txt -b, --background 启动后转入后台。 -c, --continue 继续下载部分下载的文件。 -i, --input-file=FILE 下载本地或外部 FILE 中的 URLs。 ...
    • 新建url文件,以名filelist.txt为例
    vim filelist.txt
    
    • 把文件下载地址url填进去

    • 执行命令下载

    wget -bc -i filelist.txt
    
    -b,  --background        启动后转入后台。
    -c,  --continue                继续下载部分下载的文件。
    -i,  --input-file=FILE     下载本地或外部 FILE 中的 URLs。
    
    展开全文
  • wget

    2017-08-29 00:11:28
    这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。 wget 可以跟踪HTML页面上的
  • 使用 wget 完成批量下载

    万次阅读 2013-08-26 14:44:44
    使用 wget 完成批量下载 译者: AyWizard 发表时间:2008-12-02浏览量:6487评论数:0挑错数:0 ...如果想下载一个网站上目录中的所有文件, 我需要执行一长串wget命令, 但这样做会更好: wget -nd -r -l1 --no-pa
  • wget

    2011-11-10 10:18:21
    wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。 $ wget -r -np -nd ...
  • redis-cli 批量执行命令

    2021-07-20 18:42:24
    $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz -O /usr/local/redis-5.0.5.tar.gz 解压并备份包 $ tar zxvf /usr/local/redis-5.0.5.tar.gz $ mv /usr/local/redis-5.0.5.tar.gz /usr/local/redis-...
  • 批量执行工具PSSH详解

    2019-01-24 16:31:00
    批量执行工具PSSH详解 pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,使用必须在各个服务器上配置好密钥认证访问。 安装pssh包 yum 安装: yum install pssh -...
  • Wget

    2012-12-07 07:37:17
    wget简介 wget是linux上的命令行的下载工具。这是一个GPL许可证下的自由软件。wget支持HTTP和FTP协议,支持代理服务器和断点续传功能,能够自动递归远程主机的目录,找到合乎条件的文件并将其下载到本地硬盘上;...
  • 安装wgetwget命令

    万次阅读 2019-07-05 15:22:00
    今天给服务器安装新LNMP环境时,wget 时提示 -bash:wget command not found,很明显没有安装wget软件包。一般linux最小化安装时,wget不会默认被安装。 可以通过以下两种方法来安装: 1、rpm 安装 rpm 下载源地址...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,836
精华内容 4,334
关键字:

批量执行wget