【发布时间】:2011-06-14 10:50:35
【问题描述】:
我使用了我在another post on SO 中找到的这个命令行程序,它描述了如何爬取网站。
wget --spider --force-html -r -l2 http://example.com 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\)$' > wget.out
当我抓取一个大型网站时,需要很长时间才能完成。同时磁盘上的 wget.out 文件大小为零。那么管道数据什么时候被处理并写入磁盘上的文件呢?是在管道中的每个阶段都运行完成之后吗?这样的话,整个爬取结束后wget.out会填满吗?
如何让程序间歇性地写入磁盘,这样,即使爬取阶段中断,我也能保存一些输出?
【问题讨论】: