wget
程序,但我希望它不要保存正在下载的html文件。我希望在收到后将其丢弃。我该怎么办?#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
评论
我是Linux新手-/ dev / null可以正常工作吗?那么,什么时候下载它呢?
@Anonymous我认为是要强调远程服务器的。如果您不在乎内容,我可能还是会使用apachebench(ab)。