AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 73163
Accepted
Ram Rachum
Ram Rachum
Asked: 2009-10-10 18:05:41 +0800 CST2009-10-10 18:05:41 +0800 CST 2009-10-10 18:05:41 +0800 CST

使`wget`不保存页面

  • 772

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

wget
  • 9 9 个回答
  • 80899 Views

9 个回答

  • Voted
  1. Best Answer
    Evan Anderson
    2009-10-10T19:01:30+08:002009-10-10T19:01:30+08:00

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

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

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

    • 101
  2. drAlberT
    2009-10-10T22:38:07+08:002009-10-10T22:38:07+08:00

    如果您不想保存文件,并且您已经接受了在 中下载页面的解决方案/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 的替代品。

    • 37
  3. SCL
    2011-04-01T10:24:05+08:002011-04-01T10:24:05+08:00

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

    wget -qO- http://www.example.com
    
    • 24
  4. al.
    2009-10-10T18:16:56+08:002009-10-10T18:16:56+08:00

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

    • 19
  5. natacado
    2009-10-10T19:49:42+08:002009-10-10T19:49:42+08:00

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

    • 11
  6. Paul Tomblin
    2009-10-10T18:46:46+08:002009-10-10T18:46:46+08:00

    查看“-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
    
    • 4
  7. JamesThomasMoon
    2012-04-06T13:05:12+08:002012-04-06T13:05:12+08:00

    如果您需要使用 wget 抓取网站并希望最大限度地减少磁盘流失...

    对于 *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/*
    
    • 3
  8. John Gardeniers
    2009-10-10T19:16:48+08:002009-10-10T19:16:48+08:00

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

    编辑:哎呀,我刚刚注意到已经回答了。

    • 2
  9. rocky qi
    2019-05-09T20:33:17+08:002019-05-09T20:33:17+08:00

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

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

相关问题

  • 为什么我无法获取特定的仙人掌图形图像?

  • wget 和漂亮的网址

  • 使用 wget 安装 make

  • wget 中的 --reject 功能似乎不起作用

  • 如何将下载的文件通过管道传输到 bash 中的标准输出?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve