Wget

使用 wget 或其他命令,如何現在下載但稍後轉換連結?

  • July 23, 2018

有用的選項wget --convert-linkswget -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

引用自:https://unix.stackexchange.com/questions/328101