使`wget`不保存页面

我正在使用wget程序,但我希望它不保存我正在下载的HTML文件。 我希望它在收到后被丢弃。 我怎么做?

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

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

    该文件不会写入磁盘,但会被下载。

    如果你不想保存文件,并且已经接受了在/dev/null下载页面的解决scheme, 我想你正在使用wget不去获取和parsing页面内容

    如果你的真正需要是触发一些远程操作,检查页面是否存在等等,我认为最好是避免下载html正文页面。

    wget选项,以检索只有你真正需要的,即http头,请求状态等

    • 假设您需要检查页面是否正常(即返回的状态是200),您可以执行以下操作:

       wget --no-cache --spider http://your.server.tld/your/page.html 
    • 如果你想parsing服务器返回的头文件,请执行以下操作:

       wget --no-cache -S http://your.server.tld/your/page.html 

    请参阅wget手册页以获取更多选项。
    也见lynx as,作为wget的替代品。

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

    如果你还想在控制台中打印结果,你可以这样做:

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

    另一种方法是使用curl这样的工具,默认情况下将远程内容输出到stdout而不是将其保存到文件中。

    看看“-spider”选项。 我用它来确保我的网站已经启动,如果不是的话,请给我发一封电子邮件。 这是从我的crontab典型的入口:

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

    如果您需要使用wget来抓取网站,并想尽量减less磁盘stream失…

    对于* NIX框和使用wget ,我build议跳过写入文件。 我注意到我的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文件系统。 写在这里应该绕过磁盘stream失(取决于交换空间)并跟踪所有的链接。 这应该抓取整个网站成功。

    之后,当然,

      rm --recursive --force /dev/shm/1/* 

    使用–delete-after选项,它会在下载完成后删除文件。

    编辑:哎呀,我只是注意到,已经被回答。