Wget
使用 wget 或其他命令,如何現在下載但稍後轉換連結?
有用的選項
wget --convert-links
或wget -k
使“下載的 HTML 或 CSS 中的連結指向本地文件”。它進行了兩次傳遞:
- Pass 1:下載文件。
- Pass 2:轉換連結。
我現在想通過 1,然後通過 2。我想分別呼叫這兩個通道。我想
wget
在第 1 遍後停止,讓我做一些事情,然後才繼續第 2 遍。我只想將連結轉換為單獨的命令,無論該命令是wget
什麼。請問怎麼樣?如果
wget
不這樣做,那麼是否有 Perl 模組、Python 模組或類似的模組?(供參考:這個答案部分回答了我的問題。這個問題很相似,但它的答案似乎失敗了。無論如何,據我所知,兩者都沒有給出實際有效的東西。)
似乎這個問題實際上在另一個問題中得到了回答,但它已經過時了,所以這是目前的解決方案:
它涉及在您的“通過 1”之後傳遞您的本地目錄,
wget
使其相信它是一個網站。這可以通過呼叫SimpleHTTPRequestHandler的一些簡短 Python 程式碼輕鬆完成,然後wget
使用適當的選項從 localhost 重新啟動。這些方面的東西可以起作用:
import http.server import socketserver import os PORT = 8000 # optional, can be changed web_dir = os.path.join(os.path.dirname(path), 'web') # change path to your local files here if needed, like '/home' or 'C:\\tmp' on Windows os.chdir(web_dir) Handler = http.server.SimpleHTTPRequestHandler httpd = socketserver.TCPServer(("", PORT), Handler) print("serving at port", PORT) httpd.serve_forever()
那麼你
wget
可以被叫到http://localhost:8000