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