2015-07-19 50 views
0

我正在嘗試使用wget從網頁中提取URLS。我想這wget解析shell中的網頁

wget -r -l2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p' 

據displaiyng FINISHED

Downloaded: 18,472 bytes in 1 files 

但不顯示網站鏈接。如果我嘗試seperately做

wget -r -l2 --reject=gif -O out.html www.google.com 
    sed -n 's/.*href="\([^"]*\).*/\1/p' < out.html 

輸出

http://www.google.com/intl/en/options/    
    /intl/en/policies/terms/ 

它不顯示所有鏈接

ttp://www.google.com 
http://maps.google.com 
https://play.google.com 
http://www.youtube.com 
http://news.google.com 
https://mail.google.com 
https://drive.google.com 
http://www.google.com 
http://www.google.com 
http://www.google.com 
https://www.google.com 
https://plus.google.com 

而且更超過我想從二級及以上能鏈接任何一個給這個解決方案

在此先感謝

+0

Shell是一款旨在簡化自動化的命令處理器。請考慮切換到真正的編程語言,如Python(在所有主要的Linux發行版上默認可用),java,C++,perl等。 – shanmuga

回答

0

-O file選項捕獲的wget輸出,並將其寫入到指定的文件,所以沒有輸出通過管道將sed 。 您可以說-O -指示wget輸出到標準輸出。

+0

獲得第一級,但無法使用wget解析下一級-r -l2 – maker

0

如果你不想使用grep,你可以嘗試

sed -n "/href/ s/.*href=['\"]\([^'\"]*\)['\"].*/\1/gp" 
+0

其不顯示輸出,因爲我需要 – maker