grep – Spider仅限网站和返回URL

我正在寻找一种方式来伪蜘蛛网站。关键是我实际上不想要的内容,而是一个简单的URI列表。我可以接近这个想法与Wget使用–spider选项,但当管道输出通过一个grep,我似乎找不到正确的魔法,使其工作:

wget --spider --force-html -r -l1 http://somesite.com | grep 'Saving to:'

grep过滤器似乎对wget输出没有任何影响。我有什么问题,还是有另一个工具,我应该尝试,更加面向提供这种有限的结果集?

更新

所以我只是发现离线,默认情况下,wget写入stderr。我错过了在手册页(实际上,我还没有找到它,如果它在那里)。一旦我管道返回到stdout,我更接近我需要:

wget --spider --force-html -r -l1 http://somesite.com 2>&1 | grep 'Saving to:'

我仍然对其他/更好的方式感兴趣做这种事情,如果有的话。

绝对最后一件事我想做的是下载并解析所有的内容自己(即创建我自己的蜘蛛)。一旦我学到Wget默认写入stderr,我能够重定向到stdout并适当地过滤输出。

wget --spider --force-html -r -l2 $url 2>&1 \
  | grep '^--' | awk '{ print $3 }' \
  | grep -v '\.\(css\|js\|png\|gif\|jpg\)$' \
  > urls.m3u

这给我一个内容资源(资源不是图像,CSS或JS源文件)URIs的列表。从那里,我可以发送URI到第三方工具进行处理,以满足我的需要。

输出仍然需要略微流水线(它产生重复的,如上所示),但它几乎在那里,我没有做任何解析自己。

http://stackoverflow.com/questions/2804467/spider-a-website-and-return-urls-only

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:grep – Spider仅限网站和返回URL