wget抓取整站做本地镜像

常用命令

 

phpweb企业成品网站系统有600多套比较成熟的、可以直接拿来使用的、中文的PHP企业展示网站。
我从网上下载了这600多套源代码, 发现后台源程序是经过 zend加密的, 且不说能不能无障碍解密,我只对后台PHP代码的兴趣远远小于对于这600多套前端模板的兴趣。

上次用python把模板之家的2000套纯HTML前端模板都下载到硬盘了, 这次也打算把这600多套企业成品网站收纳到硬盘。

既然后端源码不开源, 那就把每套网站的前端镜像保存到本地。

linux内置的wget工具强大到我不会使用,

下面是在网上找的下载整站做镜像的命令,但是有两个问题:
1、不能转换绝对URL地址到本地相对URL:
  比如, wordpress页面生成的地址都不是相对链接,如: http://www.nolazy.net/?p=260
  这样下载到本地的HTML文件,实质上还是指向了www.nolazy.net的页面
2、即使被抓网站使用的全是相对链接,如:/?p=260    /index.html?p=2
  下载到本的文件名可能就是?p=260   index.html?p=2
  这样的文件名在URL中是无法正确访问的.

wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6" "http://www.nolazy.net/"

解决办法

经过查看wget的使用说明,加上多次尝试,得出下面一个简洁、完善的方法,可解决上述两个问题:

wget -m -e robots=off -k -E "http://www.nolazy.net/"

可将我的博客全站下载以本地,生成可访问、完整的镜像。

简单解释一下:

-m  //是镜像的意思
-e robots=off   //忽略robots协议,强制、流氓抓取
-k  //将绝对URL链接转换为本地相对URL
-E //将所有text/html文档以.html扩展名保存

 


2016-04-15 10:43:56

linux
linux

这是介绍的地方

linux的标签

本文相关标签

推荐应用

友情链接


皖ICP备14007051号-2 关于穆子龙