如何防止 wget 以不同的順序載入 Apache 目錄清單?

如何防止 wget 以不同的順序載入 Apache 目錄清單?

我正在嘗試使用以下命令遞歸下載目錄:

wget -r -l2 --no-parent -A "*.pdf" -nd -N -e robots=off http://…

該腳本每 15 分鐘執行一次,因此我想盡可能減少請求。我看到有很多請求?C=M;O=A來自目錄順序修改按鈕,例如姓名,日期或者尺寸例子)。我怎麼能阻止這些請求的發生?

答案1

正如指出的一個答案對於一個相關問題,wget 的文檔說:

另請注意,查詢字串(以問號(“?”開頭)的URL 末尾的字串)不會作為接受/拒絕規則的檔案名稱的一部分包含在內,儘管這些字串實際上會影響為以下內容選擇的名稱:預計 Wget 的未來版本將提供允許匹配查詢字串的選項。

您可能需要使用不同的工具,例如帕武克或者httrack。這兩個程式提供比 wget 更強大的名稱過濾。

作為替代方案,您可以使用 wget 下載目錄並隨後對其進行過濾。

find . -name '*\?' -delete
# Here is a less dangerous pattern that matches the string you provided more closely:
find . -name '*\??=?;?=?' -delete

答案2

如果您嘗試鏡像 *.pdf 檔案的目錄,我會使用 httrack。像這樣的命令對我有用:

 % httrack http://my.server.com/dir/with/pdfs/ +mime:text/html +*.pdf --update

您可以透過以下網址查看更多關於 httrack 的資訊:

我應該提到使用 httrack 相對於 wget 的一個主要優點是 httrack 只會下載已更改/更新的檔案。

相關內容