wget 從具有大量連結的頁面遞歸下載

wget 從具有大量連結的頁面遞歸下載

當使用 wget 並開啟遞歸選項時,我在嘗試下載檔案時收到錯誤訊息。它認為該連結是一個可下載的文件,而實際上它應該只是跟隨它才能到達實際包含我想要的文件(或更多要追蹤的連結)的頁面。

wget -r -l 16 --accept=jpg website.com

錯誤訊息是:...因為它應該被拒絕。當它嘗試取得的網站連結以 sql 語句結尾時,通常會發生這種情況。但是,在該連結上使用完全相同的 wget 命令時,不會出現此問題。我想知道它到底是如何嘗試獲取頁面的。我想我總是可以看看原始程式碼,儘管我不知道這個專案有多混亂。我也可能錯過了 wget 上下文中「遞歸」的確切含義。我認為它會遍歷並遍歷每個鏈接,獲取具有我請求的擴展名的文件。

我在 stackOverFlow 上發布了這個,但他們把我移交給了這裡:) 希望你們能提供幫助。

編輯:錯誤訊息的輸出

2010-04-13 16:54:47 (128 KB/s) - `somewebsite.com/index.php?id=917218' saved [10789]

Removing somewebsite.com/index.php?id=917218 since it should be rejected.

我不想透露網站的來源:)

答案1

正如 Hugh Allen 所指出的,使用 just--accept=jpg會使 wget 加載僅有的副檔名為 .jpg 的檔案(以及始終取得的 .htm、.html)。這就是為什麼 wget 告訴您它將刪除 php 檔案。所以嘗試使用--accept=jpg,php或類似的。

請參閱wget手冊了解詳情。我建議您閱讀它,因為它非常詳細地解釋了整個接受/拒絕機制。

答案2

也許--accept=jpg意味著拒絕其他一切。

相關內容