方法1和代理 https://www.cnblogs.com/marklove/p/14817043.html
我們會有這種需求,看到有個網站很多文章內容不錯,想把它們全部保存下來在手機上或電腦上有空看,但是不想聯網看,或者我們想在公司內網搭個網站,和這個網站內容一模一樣,方便公司人員閱讀,這時候我們如何做這個網站的鏡像呢?
網上當然有很多工具能用,但很多都是收費的,我們考慮一個免費小巧的工具來實現我們的要求,那就是Linux上一個有名的工具wget。
一、用WGET做網站鏡像
這個工具有windows版本,網上搜一下wget for windows,找到合適地址下載。
下載下來后,為了能在命令行中方便使用,我把它放到了C:\Windows\System32目錄下(如果你會設置環境變量可以設置上,你也可以用cd命令切換到wget所在目錄操作)。
我們WIN+R,輸入cmd進入到命令行界面輸入wget -h看下幫助信息
wget的命令行參數太多了,我們只考慮做網站鏡像的有用參數。
標紅的即為做鏡像的參數
我們來看一個學習編程的網站w3school
假如我們想做這個網站的鏡像怎么辦呢?
直接用wget -m http://www.w3school.com.cn/
這種是最簡單暴力的用法,但是如果網站引用了外部的鏈接,這個下載下來的東西太多了,而且有些asp后綴的頁面,我們如果想在本地用瀏覽器打開看沒法直接打開,而且有時候我們可能只想下載某個網站目錄下的文件,不想下載太多。
我們需要限制下。
我們用-np參數來限制只拉取當前目錄不拉
取父目錄的網址數據我們用-k參數鏈接指向本地,便於瀏覽我們用-k參數鏈接指向本地,便於瀏覽我們用-p參數讓圖片等信息需要來展示在HTML上的我們全下載我們用-p參數讓圖片等信息需要來展示在HTML上的我們全下載
假如我們只想下載w3school上的JS教程,我們用如下命令即可:
wget -m -k -np -p http://www.w3school.com.cn/js/index.asp
但是這個命令還是缺少一些東西,比如后綴有ASP,其它的還有斷點續傳,文件后綴,模擬瀏覽器,https下是否檢查證書等。
我們最后總結下最合適的鏡像網站語法,假如想對網站http://www.XXXX.com做鏡像,而且做出來的鏡像方便本地瀏覽器直接打開查看,用如下命令:
wget -c -m -k -np -p -E -U Mozilla –no-check-certificate http://www.XXXX.com
二、WGET做鏡像演示
我們先實際操作一下,我們下載下JS的教程.。
wget -c -m -k -np -p -E -U Mozilla –no-check-certificate http://www.w3school.com.cn/js/index.asp
我們在左側標紅區域點擊,跳轉到的頁面還是本地
測試看來,我們成功的鏡像了JS教程的頁面,而且頁面顯示完好。
總結:最終用到的命令如下:
1
wget -c -m -k -np -p -E -U Mozilla --no-check-certificate 欲鏡像的網址
1
wget -c -m -k -p -e robots=off -E -U Mozilla --no-check-certificate 欲鏡像的網址(如果robots限制了采集內容可以用這一條)
你也可以用一些CHM制作軟件把鏡像完的本地HTML制成CHM格式的教程發布出去。
如果你想進行限速,間隔下載等特殊需求可以網上查找下wget的命令幫助進行解決,這個比較簡單,就不一一介紹了。
如果命令語法在實際測試中有問題,歡迎提出建議。
fireroothacker@Gmail.com