Linux 如何抓取網頁頁面 並 將相關連結置換 或 完整抓取下來

網頁的頁面一般 css / js / img 這些會是相對路徑、獨立網址.. 等等, 但是想要抓下頁面時, 直接瀏覽此頁, 是可以頁面完整正常顯示的, 要如何做呢?

Linux 如何抓取網頁頁面 並 將相關連結置換 或 完整抓取下來

一般頁面抓下來時, 相對路徑的檔案, 就會抓不到, 於是就很容易頁面跑掉、某些離線應該能有的功能會無法使用, 想要將這些抓下來, 或者全部改成線上的網址, 可以使用 wget 來達成~

註: 本來想說要自己寫 code 來處理, 將 href / src 抓出來, 若不是 http / https / file / ftp :// 就要抓下來(含目錄), 或者就是要寫上路徑.. 等等, 後來想到 wget 的 mirror 功能, 果然 man wget 就找到合適的用法.

WGET 使用兩個參數來達成上述講的功能:

  • --convert-links – convert all the links (also to stuff like CSS stylesheets) to relative, so it will be suitable for offline viewing.
  • --page-requisites – Download things like CSS style-sheets and images required to properly display the page offline.

把網頁抓下來, 自動把路徑修復

  • wget --convert-links https://blog.longwin.com.tw/

分析網頁路徑, 在 local 把相關目錄建立, 然後把 css / js / img 等等都抓下來

  • wget --page-requisites https://blog.longwin.com.tw/

相關網頁

關於「Tsung」

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
分類: My_Note-Unix,標籤: , , 。這篇內容的永久連結

在〈Linux 如何抓取網頁頁面 並 將相關連結置換 或 完整抓取下來〉中有 5 則留言

  1. Dum表示:

    請問版主
    CURL也有同樣的功能嗎?

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料