我正在使用wget程序,但我希望它不要保存正在下载的html文件。我希望在收到后将其丢弃。我该怎么办?

评论

我是Linux新手-/ dev / null可以正常工作吗?

那么,什么时候下载它呢?

@Anonymous我认为是要强调远程服务器的。如果您不在乎内容,我可能还是会使用apachebench(ab)。

#1 楼

您可以将wget的输出重定向到/ dev / null(或Windows上的NUL):

wget http://www.example.com -O /dev/null


该文件不会被写入磁盘,但是它将已下载。

评论


这不会保存页面,但会向我发送电子邮件。也可以禁用电子邮件功能吗?

–trante
2013年9月7日在6:03

#2 楼

如果您不想保存文件,并且已经接受了在/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



请参见wget手册页,以了解更多可玩的选项。
也请参见lynx,作为wget的替代方法。

评论


我很困惑。 -手册页中的--no-cache说它导致wget“向远程服务器发送适当的指令('Pragma:no-cache')以从远程服务获取文件”

–盖亚
2013年1月20日19:05



它对服务器说,您的客户端不需要该文件的缓存版本..我们希望获得我们所请求的资源的最新版本

–drAlberT
13年1月21日在15:55

#3 楼

如果您还想在控制台中打印结果,则可以执行以下操作:

wget -qO- http://www.example.com


评论


我最喜欢这个选项。它让我看看它得到了什么但没有保存。这些开关特别是q安静模式(不输出进度和其他信息)和O-(将检索到的文档写到控制台)。

–章鱼
16 Sep 30 '21:16



#4 楼

$ wget http://www.somewebsite.com -O foo.html --delete-after

评论


非常感谢。 --delete-after选项是您必须递归下载但要舍弃实际内容时的选择。

–egelev
2015年4月23日在10:57



对于我+1来说,命令很直观-一目了然,我能比-O / dev / null更快地了解将要发生的事情

–融合27
19-10-17在11:28

#5 楼

另一种选择是使用curl之类的工具,该工具默认将远程内容输出到stdout,而不是将其保存到文件中。

#6 楼

签出“蜘蛛”选项。我使用它来确保我的网站正常运行,如果没有,请给我发送电子邮件。这是我的crontab中的典型条目:

46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi


#7 楼

如果您需要使用wget抓取网站并希望最大程度地减少磁盘流失...
对于* NIX框并使用wget,我建议跳过写入文件的操作。我在Ubuntu 10.04盒子上注意到wget -O /dev/null导致wget在第一次下载后中止下载。
我还注意到wget -O real-file导致wget忘记了页面上的实际链接。它坚持要求index.html出现在每页上。这样的页面可能并不总是存在,并且wget不会记住以前看到的链接。没有-O file选项。 wget将写入$ PWD目录。在这种情况下,这是仅RAM的tmpfs文件系统。在这里写应该绕过磁盘搅动(取决于交换空间),并跟踪所有链接。这样应该可以成功爬网整个网站。
之后,当然,
 mkdir /dev/shm/1   
 cd /dev/shm/1
 wget --recursive --relative --no-parent ...


#8 楼

使用--delete-after选项,该选项将在下载文件后删除该文件。

编辑:糟糕,我刚刚注意到已经回答了。

#9 楼

根据帮助文档(wget -h),可以使用--spider选项跳过下载(版本1.14)。

Download:
  -S,  --server-response         print server response.
       --spider                  don't download anything.



评论


这如何添加到提到--spider的其他答案中?

–沃德-恢复莫妮卡♦
19年5月9日在4:37

它解释了--spider的含义。谢谢。

–LonnieBest
20年8月31日在14:32