2011-05-10 61 views
2

我創建了一個Wget的抓取工具供個人使用。如何使用尾部斜線在網站上進行填充,並保存就像沒有結束的斜線

wget -k -m -Dwww.website.com -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,js,rss,xml,feed,.tar.gz,.zip,rar,.rar,.php,.txt -t 1 http://www.website.com/ & 

在網站上的職位例如URL是http://www.website.com/post-one/,其中每一個崗位已經在網址的結尾斜線。

保存時的Wget將創建:

www.website.net/post-one 
www.website.net/post-one/index.html 

第一行是文件夾,而第二行是實際的HTML文件,我在尋找。問題是,Wget會爲每個帖子創建一個文件夾,這使得數據更難處理。

我想Wget創建www.website.net/post-one其中post-one這是HTML文件,而不是爲每個帖子創建文件夾。

我試過很多方法,沒有運氣。使用-R .html沒有內容的結果文件夾。

回答

0

我用wget的支持以下目錄中選擇:

-nd, --no-directories   don't create directories. 
-x, --force-directories  force creation of directories. 
-nH, --no-host-directories  don't create host directories. 
    --protocol-directories  use protocol name in directories. 
-P, --directory-prefix=PREFIX save files to PREFIX/... 
    --cut-dirs=NUMBER   ignore NUMBER remote directory component 

也許-nd或-P可以幫助你。

否則,在使用現有wget下載所有文件後,shell腳本可以輕鬆地將文件轉換爲單個級別目錄。

#!/bin/bash 
cd www.website.net 
for d in $(find . -type -d -print) ; do 
    if [[ -f $d/index.html ]] ; then 
    echo mv $d/index.html $.html && echo rmdir $d 
    fi 
done 

刪除echo那時你肯定環路產生輸出,會爲你工作。

我希望這會有所幫助。

P.S.因爲你似乎是一個新用戶,如果你得到一個可以幫助你的答案,請記住將它標記爲已接受,並且/或者給它一個+(或 - )作爲有用的答案。