Wget
下載.asp或.php文件後,可以轉換成.html文件嗎?
我想知道通過下載文件
wget
並命名它們.asp
是否.php
意味著我下載了網頁?這些不是執行檔嗎?如果是這樣,下載一個
.asp
或.php
文件後,可以將其轉換為.html
文件嗎?
即使文件被命名
.asp
,它們實際上是 HTML 文件。查看他們的內容以確認這一點,但使用擴展.asp
是因為這是用於實現該特定站點的技術。這是瀏覽器在下載文件時使用的名稱,因此也是將文件寫入磁碟時使用的名稱,但它們仍然是 HTML。您還可以使用以下
file
命令確認文件的類型:$ file some.asp
在您之前提出的問題中,您提出如何從 w3school 網站下載一堆頁面(可能將這些網頁下載為一本書?)。你顯示了這個命令:
$ wget -r -np -nH -p -k http://www.w3schools.com/sql/default.asp
請注意該命令在執行時為您生成的文件的結果:
$ file ./sql/sql_func_count.asp ./sql/sql_func_count.asp: HTML document, ASCII text, with very long lines, with CRLF line terminators
所以這是一個錯誤
wget
,對吧?不!這不是一個錯誤,它只是如何
wget
和curl
行為。這就是我指示您httrack
在上面連結的其他問答中使用的部分原因。如果您注意到它產生的結果,文件的名稱都.html
帶有httrack
.wget
並且curl
尊重 URL 中文件的名稱,因為它們是您在訪問它們時下載的實際文件的名稱。URL 並沒有任何擴展的概念,這是一種作業系統主義。URL 就是這樣,通用資源定位器。URL 用於在 Internet 上唯一地查找內容,而不是用於將其儲存在本地以供以後使用。當您想下載用於此類用途的線上內容時,您需要使用一種工具,該工具實際上可以在本地鏡像該內容並使其在本地可導航。
諸如此類的工具
httrack
本質上違反了 URL 的一致性,以使本地儲存的內容可以離線導航。wget
並且curl
可以被勸說這樣做,但它通常更麻煩且容易出錯,因此作為一般規則,不鼓勵這樣做。最好使用合適的工具來完成這項工作。對於本地鏡像線上內容,
httrack
是合適的工具!