参考文章:https://blog.csdn.net/qq_36746815/article/details/88074833
详细版参考:https://cyhour.com/628/
在Linux服务器中输入如下命令抓取网站HTML页面:
wget -r -p -np -k -E http://www.xxx.com #抓取整站
wget -l 1 -p -np -k http://www.xxx.com #抓取第一级
-r 递归抓取
-k 抓取之后修正链接,适合本地浏览
wget -m -e robots=off -k -E "http://www.xxx.com/"
可以将全站下载以本地的当前工作目录,生成可访问、完整的镜像。
解释:
-m //镜像,就是整站抓取
-e robots=off //忽略robots协议,强制、流氓抓取
-k //将绝对URL链接转换为本地相对URL
-E //将所有text/html文档以.html扩展名保存
wget的使用方法:
wget -h
GNU Wget 1.12,非交互式的网络文件下载工具。
用法: wget [选项]… [URL]…
长选项所必须的参数在使用短选项时也是必须的。
开始:
-V, --version 显示 Wget 的版本信息并退出。
-h, --help 打印此帮助。
-b, --background 启动后转入后台。
-e, --execute=COMMAND 运行一个‘.wgetrc’风格的命令。
登入并输入文件:
-o, --output-file=FILE 将信息写入 FILE。
-a, --append-output=FILE 将信息添加至 FILE。
-d, --debug 打印大量调试信息。
-q, --quiet 安静模式(无信息输出)。
-v, --verbose 详尽的输出(此为默认值)。
-nv, --no-verbose 关闭详尽输出,但不进入安静模式。
-i, --input-file=FILE 下载本地或外部 FILE 中的 URLs。
-F, --force-html 把输入文件当成 HTML 文件。
-B, --base=URL 解析与 URL 相关的HTML 输入文件(由 -i -F 选项指定)。
下载
-t, --tries=NUMBER 设置重试次数为 NUMBER (0 代表无限制)。
--retry-connrefused 即使拒绝连接也是重试。
-O, --output-document=FILE 将文档写入 FILE。
-nc, --no-clobber 不要重复下载已存在的文件。
-c, --continue 继续下载部分下载的文件。
--progress=TYPE 选择进度条类型。
-N, --timestamping 只获取比本地文件新的文件。
-S, --server-response 打印服务器响应。
--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…2*WAIT 秒。
--no-proxy 关闭代理。
-Q, --quota=NUMBER 设置取回配额为 NUMBER 字节。