wget 如何克隆一個網站全站或部分內容(做網站鏡像)


方法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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM