当前位置:

利用wget仿html网站镜像下载

朗朗 2023-10-21 129 0

仿站下载网站中绝大部分的静态资源,是模板爱好者学习的一个重要途径。

这里的网页资源指的是前端网页资源,即javascript,css,html,图片,媒体文件等。由于php,java等属于服务端语言,无法获得其源代码。

暂不支持下载由javascript或其他脚本异步动态生成和插入的资源,只支持同步静态加载的网页资源。


在Linux下,通过一个命令就可以把整个站相关的文件全部下载下来。wget 


1.这条命令可以下载 网站根目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。

wget -r -np -nd https://www.ao16.cn/

2.该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项去掉括号。 

wget -m -k (-H) https://www.ao16.cn/

3.使用代理进行请求

wget -m -k -e "http_proxy=http://192.168.5.30:7890" https://www.ao16.cn/

注: 如果是https,则参数为:-e "https_proxy=http://127.0.0.1:8087"




常用参数说明:

-r :  递归下载
-p :下载所有用于显示 HTML 页面的图片之类的元素
-k : 在转换文件 X 前先将它备份为 X.orig。
-np :不追溯至父目录
-o : 选项将下载信息存入日志文件 列:wget -o download.log url
-O : 选项以其他名称保存下载的文件  wget -O /home/ym/demo.tar url
-P : 选项将文件下载到指定目录  wget -P /home/ym url
-c : 选项断点续传,文件较大,网络断开未下载完成时,-c选项可以恢复下载,无需从头下载   wget -c url
-b : 选项在后台下载文件    wget -b url  #默认下载日志重定向到当前目录下wget-log文件中,使用`tail -f wget-log`查看
-i :  选项下载多个文件  #创建一个文本文件download_list.txt,将所有url添加到该文件,每个url必须单独一行    wget -i download_list.txt
-Q :选项限制总下载文件大小    wget -Q5m -i filelist.txt #下载的文件超过5M而退出下载,你可以使用。注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。
--limit-rate : 选项限制下载速度,默认wget命令会以全速下载,但有时下载一个非常大的资源,可能会占用大量的可用带宽,影响其他使用网络的任务,这时就要限制下载速度    wget --limit-rate=1m url  #下载速度限制为1m/s
--tries  : 选项增加重试次数,如果网络有问题或下载一个大文件有可能会下载失败,wget默认重试20次,我们可以使用-tries选项来增加重试次数。   wget --tries=30 url

通过FTP下载如果要从受密码保护的FTP服务器下载文件,需要指定用户名和密码,格式如下:
wget ftp-url #匿名ftp下载
wget --ftp-user=USERNAME --ftp-password=PASSWORD url #使用wget用户名和密码认证的ftp下载


更多命令参数

  -V,  --version           显示wget的版本后退出  -h,  --help              打印语法帮助  -b,  --background        启动后转入后台执行  -e,  --execute=COMMAND   执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc
* 记录和输入文件 
  -o,  --output-file=FILE     把记录写到FILE文件中
  -a,  --append-output=FILE   把记录追加到FILE文件中
  -d,  --debug                打印调试输出
  -q,  --quiet                安静模式(没有输出)
  -v,  --verbose              冗长模式(这是缺省设置)
  -nv, --non-verbose          关掉冗长模式,但不是安静模式
  -i,  --input-file=FILE      下载在FILE文件中出现的URLs
  -F,  --force-html           把输入文件当作HTML格式文件对待
  -B,  --base=URL             将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
       --sslcertfile=FILE     可选客户端证书
       --sslcertkey=KEYFILE   可选客户端证书的KEYFILE
       --egd-file=FILE        指定EGD socket的文件名
* 下载 
       --bind-address=ADDRESS   指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)
  -t,  --tries=NUMBER           设定最大尝试链接次数(0 表示无限制).
  -O   --output-document=FILE   把文档写到FILE文件中
  -nc, --no-clobber             不要覆盖存在的文件或使用.#前缀
  -c,  --continue               接着下载没下载完的文件
       --progress=TYPE          设定进程条标记
  -N,  --timestamping           不要重新下载文件除非比本地文件新
  -S,  --server-response        打印服务器的回应
       --spider                 不下载任何东西
  -T,  --timeout=SECONDS        设定响应超时的秒数
  -w,  --wait=SECONDS           两次尝试之间间隔SECONDS秒
       --waitretry=SECONDS      在重新链接之间等待1...SECONDS秒
       --random-wait            在下载之间等待0...2*WAIT秒
  -Y,  --proxy=on/off           打开或关闭代理
  -Q,  --quota=NUMBER           设置下载的容量限制
       --limit-rate=RATE        限定下载输率
* 目录 
  -nd  --no-directories            不创建目录
  -x,  --force-directories         强制创建目录
  -nH, --no-host-directories       不创建主机目录
  -P,  --directory-prefix=PREFIX   将文件保存到目录 PREFIX/...
       --cut-dirs=NUMBER           忽略 NUMBER层远程目录
* HTTP 选项 
       --http-user=USER      设定HTTP用户名为 USER.
       --http-passwd=PASS    设定http密码为 PASS.
  -C,  --cache=on/off        允许/不允许服务器端的数据缓存 (一般情况下允许).
  -E,  --html-extension      将所有text/html文档以.html扩展名保存
       --ignore-length       忽略 `Content-Length'头域       --header=STRING       在headers中插入字符串 STRING
       --proxy-user=USER     设定代理的用户名为 USER
       --proxy-passwd=PASS   设定代理的密码为 PASS
       --referer=URL         在HTTP请求中包含 `Referer: URL'头
  -s,  --save-headers        保存HTTP头到文件
  -U,  --user-agent=AGENT    设定代理的名称为 AGENT而不是 Wget/VERSION.
       --no-http-keep-alive  关闭 HTTP活动链接 (永远链接).
       --cookies=off         不使用 cookies.
       --load-cookies=FILE   在开始会话前从文件 FILE中加载cookie
       --save-cookies=FILE   在会话结束后将 cookies保存到 FILE文件中
* FTP 选项 
  -nr, --dont-remove-listing   不移走 `.listing'文件  -g,  --glob=on/off           打开或关闭文件名的 globbing机制       --passive-ftp           使用被动传输模式 (缺省值).
       --active-ftp            使用主动传输模式       --retr-symlinks         在递归的时候,将链接指向文件(而不是目录)* 递归下载 
  -r,  --recursive          递归下载--慎用!
  -l,  --level=NUMBER       最大递归深度 (inf 或 0 代表无穷).
       --delete-after       在现在完毕后局部删除文件  -k,  --convert-links      转换非相对链接为相对链接  -K,  --backup-converted   在转换文件X之前,将之备份为 X.orig  -m,  --mirror             等价于 -r -N -l inf -nr.
  -p,  --page-requisites    下载显示HTML文件的所有图片* 递归下载中的包含和不包含(accept/reject) 
  -A,  --accept=LIST                分号分隔的被接受扩展名的列表  -R,  --reject=LIST                分号分隔的不被接受的扩展名的列表  -D,  --domains=LIST               分号分隔的被接受域的列表       --exclude-domains=LIST       分号分隔的不被接受的域的列表       --follow-ftp                 跟踪HTML文档中的FTP链接       --follow-tags=LIST           分号分隔的被跟踪的HTML标签的列表  -G,  --ignore-tags=LIST           分号分隔的被忽略的HTML标签的列表  -H,  --span-hosts                 当递归时转到外部主机  -L,  --relative                   仅仅跟踪相对链接  -I,  --include-directories=LIST   允许目录的列表  -X,  --exclude-directories=LIST   不被包含目录的列表  -np, --no-parent                  不要追溯到父目录


作者:小卡Geek 本文转载 出处:bilibili

利用wget仿html网站镜像下载

发表评论

  • 评论列表
还没有人评论,快来抢沙发吧~