
我已經閱讀了 Wget 手冊,但不幸的是它似乎沒有解決我的問題,所以如果有人能為我提供一些幫助,我將不勝感激。
我們有一個網站(例如)website.com,它直接連結到(例如)website.com/1/、website.com/2/...等。
現在,website.com/r/(其中 r 是整數)的每個頁面都連結到多個 pdf 文件。它們不是位於 website.com/r/doc-i.pdf(這會很方便),而是全部位於 website.com/files/doc-i.pdf。
因此,當我運行命令時wget -r -l 2 -A pdf website.com
,我當然會得到一個名為“files”的大資料夾,其中包含所有 pdf 文件。
然而,我更希望將它們組織到名為 1、2、...、n 的不同資料夾中,這些資料夾對應於下載它們的頁面。由於我將總共下載大約 10,000 個 pdf 文件,因此我寧願不必手動執行此操作。
那我該如何告訴 Wget 組織文件,而不是按照網站目錄結構,而是按照存取文件的路徑呢?
我希望我的解釋是清楚的,並且這並不是太難實現。
答案1
(未經測試)以下需要一些調整,只是一個一般想法:
### get level1
wget -r -l website.com/
#### for each html file otained,
for a in $(find website.com -name '*.html' )
do
### get level 2 but prefix it with the base name
b=$(basename $a)
wget -P $b -r -l 1 -A pdf http://$a
done
- 可能這個發現需要一些 tunnig
- 也許添加一些東西
mv $b/website.com/files FINAL/$b
來降低水平