0
我正在嘗試使用wget從網頁中提取URLS直到用戶定義的n級 。我想這使用wget從URL中提取n級鏈接
wget -r -l$2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'` "
它僅顯示第一級。它不解析任何水平 我怎麼能糾正它
我正在嘗試使用wget從網頁中提取URLS直到用戶定義的n級 。我想這使用wget從URL中提取n級鏈接
wget -r -l$2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'` "
它僅顯示第一級。它不解析任何水平 我怎麼能糾正它
有在命令行
wget -r -l$2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'` "
sed 's/.*href="\([^"]*\).*/\1/p'
有一點幼稚,因爲大多數頁面可能在同一行上有很多引用,並且一些標記可能會分成多行。"
所以參考加上行的其餘部分被打印out.html
並且沒有任何內容被轉發到標準輸出。它可以通過選項-O -
進行更改。不幸的是,這個選項不適用於-r
和-lx
。所以解決方案是存儲結果並執行兩個命令。302 Found
,位置指向本地化的Google,而wget不會遞歸到本地化的頁面。所以工作指令可(未測試 - 只是寫給你的靈感):
$ wget -nv -r -l1 --reject=gif -O x www.google.it
WARNING: combining -O with -r or -p will mean that all downloaded content
will be placed in the single file you specified.
2015-07-21 14:30:26 URL:http://www.google.it/ [18842/18842] -> "x" [1]
2015-07-21 14:30:26 URL:http://www.google.it/robots.txt [8170] -> "x" [1]
2015-07-21 14:30:26 URL:http://www.google.it/images/srpr/nav_logo80.png [35615/35615] -> "x" [1]
...
$ cat x| sed -e 's/href="/\nhref="/g' | sed -n 's/.*href="\([^"]*"\).*/\1/p'
/search?"
/AA61D1355AF544A297B61B2A6E00FF1C&css_id=bubble.min.css"
http://www.google.it/imghp?hl=it&tab=wi"
http://maps.google.it/maps?hl=it&tab=wl"
https://play.google.com/?hl=it&tab=w8"
http://www.youtube.com/?gl=IT&tab=w1"
...
你是什麼「級別」是什麼意思? – shoover
@shoover:-l2,-l3 ..等 將數字作爲參數 – maker