如何在使用CURL时禁用加载图像?

时间:2010-10-02 08:01:46

标签: curl

我想加载网站/网址,但我不需要图片。当我使用CURL

时,如何从加载中排除图像

1 个答案:

答案 0 :(得分:2)

curl <url>之类的调用结果只为您提供了纯HTML页面,并且不会加载图像。但是,如果要从下载的HTML中删除img标记,可以使用xmlstarlet应用简单的XSLT。

这是XSLT(我在http://www.usingxml.com/Transforms/XslIdentity找到的示例的变体)delimg.xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
 version="1.0">

  <!-- Remove img tag -->
  <xsl:template match="img" />

  <!-- IdentityTransform -->
  <xsl:template match="/ | @* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()" />
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

然后使用--html选项调用xmlstarlet:

 curl <url> | xmlstarlet tr --html delimg.xslt > output.html