【数据下载】利⽤wget命令批量下载ftp⽂件和⽂件夹
这是⼀个“”数据⼤发现”的时代,⼤家都在创造数据,使⽤数据以及分享数据,⾸先⼀步我们就需要从数据库download我们需要的数据。
Ftp是⼀种常见的在线数据库,今天介绍⼀种可以批量下载⽂件夹的⽅法,也是shell中常常⽤到的wget命令:
GNUWget1.17.1,⾮交互式的⽹络⽂件下载⼯具。
⽤法:wget[选项]...[URL]...
长选项所必须的参数在使⽤短选项时也是必须的。
启动:
-V,--version显⽰Wget的版本信息并退出
-h,--help打印此帮助
-b,--background启动后转⼊后台
-e,--execute=命令运⾏⼀个“.wgetrc”风格的命令
⽇志和输⼊⽂件:
-o,--output-file=⽂件将⽇志信息写⼊FILE
-a,--append-output=⽂件将信息添加⾄FILE
-d,--debug打印⼤量调试信息
-q,--quiet安静模式(⽆信息输出)
-v,--verbo详尽的输出(此为默认值)
-nv,--no-verbo关闭详尽输出,但不进⼊安静模式
--report-speed=类型以<类型>报告带宽。类型可以是bits
-i,--input-file=⽂件下载本地或外部<⽂件>中的URL
-F,--force-html把输⼊⽂件当成HTML⽂件
-B,--ba=URL解析相对于URL的HTML输⼊⽂件链接(-i-F)
--config=⽂件指定要使⽤的配置⽂件
--no-cookies不读取任何配置⽂件
--rejected-log=⽂件将拒绝URL的原因写⼊<⽂件>。
下载:
-t,--tries=数字设置重试次数为<数字>(0代表⽆限制)
--retry-connrefud即使拒绝连接也是重试
-O,--output-document=⽂件将⽂档写⼊FILE
-nc,--no-clobber不要下载已存在将被覆盖的⽂件
-c,--continue断点续传下载⽂件
--start-pos=偏移量从由零计数的<偏移量>开始下载
--progress=类型选择进度条类型
--show-progress在任意啰嗦状态下都显⽰进度条
-N,--timestamping只获取⽐本地⽂件新的⽂件
--no-if-modified-since不要在时间戳(timestamping)模式下使⽤
if-modified-sinceget条件请求
--no-u-rver-timestamps不根据服务器上的时间戳设置本地⽂件的时间戳
-S,--rver-respon打印服务器响应
--spider不下载任何⽂件
-T,--timeout=SECONDS将所有超时设为SECONDS秒
--dns-timeout=SECS设置DNS查寻超时为SECS秒
--connect-timeout=SECS设置连接超时为SECS秒
--read-timeout=SECS设置读取超时为SECS秒
-w,--wait=SECONDS等待间隔为SECONDS秒
--waitretry=SECONDS在获取⽂件的重试期间等待1..SECONDS秒
--random-wait获取多个⽂件时,每次随机等待间隔(0.5~1.5)*WAIT秒
--no-proxy禁⽌使⽤代理
-Q,--quota=数字设置获取配额为<数字>字节
--bind-address=ADDRESS绑定⾄本地主机上的ADDRESS(主机名或是IP)
--limit-rate=RATE限制下载速率为RATE
--no-dns-cache关闭DNS查询缓存
--restrict-file-names=系统限定⽂件名中的字符为<系统>允许的字符
--ignore-ca匹配⽂件/⽬录时忽略⼤⼩写
-4,--inet4-only仅连接⾄IPv4地址
-6,--inet6-only仅连接⾄IPv6地址
--prefer-family=地址族⾸先连接⾄指定家族(IPv6,IPv4或none)的地址
--ur=⽤户将ftp和http的⽤户名均设置为<⽤户>
--password=密码将ftp和http的密码均设置为<密码>
--ask-password提⽰输⼊密码
--no-iri关闭IRI⽀持
--local-encoding=ENC使⽤ENC作为IRI(国际化资源标识符)的本地编码
--remote-encoding=ENC使⽤ENC作为默认远程编码
--unlink覆盖前移除⽂件
⽬录:
-nd,--no-directories不创建⽬录
-x,--force-directories强制创建⽬录
-nH,--no-host-directories不要创建主(host)⽬录
--protocol-directories在⽬录中使⽤协议名称
-P,--directory-prefix=前缀保存⽂件到<前缀>/..
--cut-dirs=数字忽略远程⽬录中<数字>个⽬录层。
HTTP选项:
--http-ur=⽤户设置http⽤户名为<⽤户>
--http-password=密码设置http密码为<密码>
--no-cache不使⽤服务器缓存的数据。
--default-page=NAME改变默认页(通常是“”)。
-E,--adjust-extension以合适的扩展名保存HTML/CSS⽂档
--ignore-length忽略头部的‘Content-Length’区域
--header=字符串在头部插⼊<字符串>
--max-redirect每页所允许的最⼤重定向
--proxy-ur=⽤户使⽤<⽤户>作为代理⽤户名
--proxy-password=密码使⽤<密码>作为代理密码
--referer=URL在HTTP请求头包含‘Referer:URL’
--save-headers将HTTP头保存⾄⽂件。
-U,--ur-agent=代理标识⾃⼰为<代理>⽽不是Wget/VERSION。
--no-http-keep-alive禁⽤HTTPkeep-alive(持久连接)。
--no-cookies不使⽤cookies。
--load-cookies=⽂件会话开始前从<⽂件>中载⼊cookies。
--save-cookies=⽂件会话结束后保存cookies⾄FILE。
--keep-ssion-cookies载⼊并保存会话(⾮永久)cookies。
--post-data=字符串使⽤POST⽅式;把<字串>作为数据发送。
--post-file=⽂件使⽤POST⽅式;发送<⽂件>内容。
--method=HTTP⽅法在请求中使⽤指定的
--post-data=字符串把<字串>作为数据发送,必须设置--method
--post-file=⽂件发送<⽂件>内容,必须设置--method
--content-disposition当选择本地⽂件名时允许Content-Disposition
头部(实验中)。
--content-on-error在服务器错误时输出接收到的内容
--auth-no-challenge不先等待服务器询问就发送基本HTTP验证信息。
HTTPS(SSL/TLS)选项:
--cure-protocol=PR选择安全协议,可以是auto、SSLv2、
SSLv3、TLSv1、PFS中的⼀个。
--https-only只跟随安全的HTTPS链接
--no-check-certificate不要验证服务器的证书。
--certificate=⽂件客户端证书⽂件。
--certificate-type=类型客户端证书类型,PEM或DER。
--private-key=⽂件私钥⽂件。
--private-key-type=类型私钥⽂件类型,PEM或DER。
--ca-certificate=⽂件带有⼀组CA证书的⽂件。
--ca-directory=DIR保存CA证书的哈希列表的⽬录。
--ca-certificate=⽂件带有⼀组CA证书的⽂件。
--random-file=⽂件⽤于初始化SSL伪随机数⽣成器(PRNG)的⽂件,
应含有随机数据
--egd-file=⽂件⽤于命名带有随机数据的EGD套接字的⽂件。
HSTS选项:
--no-hsts禁⽤HSTS
--hsts-fileHSTS数据库路径(将覆盖默认值)
FTP选项:
--ftp-ur=⽤户设置ftp⽤户名为<⽤户>。
--ftp-password=密码设置ftp密码为<密码>
--no-remove-listing不要删除‘.listing’⽂件
--no-glob不在FTP⽂件名中使⽤通配符展开
--no-passive-ftp禁⽤“passive”传输模式
--prerve-permissions保留远程⽂件的权限
--retr-symlinks递归⽬录时,获取链接的⽂件(⽽⾮⽬录)
FTPS选项:
--ftps-implicit使⽤隐式FTPS(默认端⼝990)
--ftps-resume-ssl打开数据连接时继续控制连接中的SSL/TLS会话
--ftps-clear-data-connection只加密控制信道;数据传输使⽤明⽂
--ftps-fallback-to-ftp回落到FTP,如果⽬标服务器不⽀持FTPS
WARC选项:
--warc-file=⽂件名在⼀个.⽂件⾥保持请求/响应数据
--warc-header=字符串在头部插⼊<字符串>
--warc-max-size=数字将WARC的最⼤尺⼨设置为<数字>
--warc-cdx写⼊CDX索引⽂件
--warc-dedup=⽂件名不要记录列在此CDX⽂件内的记录
--no-warc-compression不要GZIP压缩WARC⽂件
--no-warc-digests不要计算SHA1摘要
--no-warc-keep-log不要在WARC记录中存储⽇志⽂件
--warc-tempdir=⽬录WARC写⼊器的临时⽂件⽬录
递归下载:
-r,--recursive指定递归下载
-l,--level=数字最⼤递归深度(inf或0代表⽆限制,即全部下载)。
--delete-after下载完成后删除本地⽂件
-k,--convert-links让下载得到的HTML或CSS中的链接指向本地⽂件
--convert-file-only只转换URL的⽂件部分(通常所谓的baname)
--backups=N写⼊⽂件X前,轮换移动最多N个备份⽂件
-K,--backup-converted在转换⽂件X前先将它备份为。
-m,--mirror-N-r-linf--no-remove-listing的缩写形式。
-p,--page-requisites下载所有⽤于显⽰HTML页⾯的图⽚之类的元素。
--strict-comments⽤严格⽅式(SGML)处理HTML注释。
递归接受/拒绝:
-A,--accept=列表逗号分隔的可接受的扩展名列表
-R,--reject=列表逗号分隔的要拒绝的扩展名列表
--accept-regex=REGEX匹配接受的URL的正则表达式
--reject-regex=REGEX匹配拒绝的URL的正则表达式
--regex-type=类型正则类型(posix|pcre)
-D,--domains=列表逗号分隔的可接受的域名列表
--exclude-domains=列表逗号分隔的要拒绝的域名列表
--follow-ftp跟踪HTML⽂档中的FTP链接
--follow-tags=列表逗号分隔的跟踪的HTML标识列表
--ignore-tags=列表逗号分隔的忽略的HTML标识列表
-H,--span-hosts递归时转向外部主机
-L,--relative仅跟踪相对链接
-I,--include-directories=列表允许⽬录的列表
--trust-rver-names使⽤重定向URL的最后⼀段作为本地⽂件名
-X,--exclude-directories=列表排除⽬录的列表
-np,--no-parent不追溯⾄⽗⽬录
这是完整的参数,可以按需使⽤。
这⾥介绍⼀个例⼦,我们想要下载FTP服务器的⼀个⽂件夹⽽不需要其他⽂件夹的⽂件,这个时候命令可以这样写:
wget-r-c-nH-npftp:///species/Potentilla_micrantha/
其中,
-r递归下载⼦⽬录⽂件
-c断点续传
-nH不创建主机⽬录
-np不追溯⽗⽂件夹
本文发布于:2022-11-25 15:43:05,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/19372.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |