Answers:
您可以将wget的输出重定向到/ dev / null(在Windows上为NUL):
wget http://www.example.com -O /dev/null
该文件不会被写入磁盘,但会被下载。
如果您不想保存文件,并且已经接受了下载页面的解决方案/dev/null
,那么我想您正在使用wget来获取和解析页面内容。
如果您真正需要触发一些远程操作,请检查该页面是否存在,以此类推,我认为最好完全避免下载html正文页面。
播放wget
选项以仅检索您真正需要的内容,即http标头,请求状态等。
假设您需要检查页面是否正常(即返回的状态为200),则可以执行以下操作:
wget --no-cache --spider http://your.server.tld/your/page.html
如果要解析服务器返回的标头,请执行以下操作:
wget --no-cache -S http://your.server.tld/your/page.html
--no-cache
手册页中的内容说这会导致wget“向远程服务器发送适当的指令('Pragma:no-cache')以从远程服务获取文件”
$ wget http://www.somewebsite.com -O foo.html --delete-after
--delete-after
当您必须递归下载但想要放弃实际内容时,可以选择该选项。
-O /dev/null
对于* NIX框并使用wget
,我建议跳过写入文件的操作。我注意到在我的Ubuntu 10.04盒子上,wget -O /dev/null
导致wget首次下载后中止下载。
我还注意到,这wget -O real-file
导致wget忘记了页面上的实际链接。它坚持在index.html
每个页面上都显示一个。这样的页面可能并不总是存在,并且wget不会记住以前看到的链接。
mkdir /dev/shm/1
cd /dev/shm/1
wget --recursive --relative --no-parent ...
注意,没有-O file
选择。wget将写入$ PWD目录。在这种情况下,这是仅RAM的tmpfs文件系统。在这里写应该绕过磁盘搅动(取决于交换空间)并跟踪所有链接。这样可以成功爬网整个网站。
然后,当然
rm --recursive --force /dev/shm/1/*
/dev/null
工作吗?