gpt4 book ai didi

linux - 如何使用wget下载xhtml网页

转载 作者:太空狗 更新时间:2023-10-29 11:36:27 26 4
gpt4 key购买 nike

您好,当我尝试右键单击并保存页面时,因为网页被保存为 .xhtml 。但是当我尝试使用 wget 或 curl 下载它时,它被下载为 .html。有什么方法可以下载它,就像 .xhtml 一样?我真的需要它。

最佳答案

您正在下载 RSS feed .这不是 (X)HTML 文档,而是它自己的 XML 文档类型。 您的浏览器正在显示 RSS 提要 XML 的 (X)HTML 表示。如果您在浏览器中单击“另存为”,它会将该表示形式保存到磁盘。如果您针对 RSS 提要的 URL 运行 wget/curl,您将下载它的 XML 文件。每个浏览器都可以为 RSS 提要选择不同的表示。仅使用 wget/curl 是无法模拟的。

更新 1:您需要一个软件将 RSS 提要 XML 转换为 XHTML(即,类型 A 的 XML 转换为类型 B 的 XML)。这是用 XSLT 完成的(可扩展样式表语言转换)。没有明显或“正确”的解决方案,因为可以通过编写任意 XSL 样式表来自由选择目标表示。请注意,这并不是特别容易。根据您使用的技术堆栈,可能还会提供预制解决方案。尝试使用谷歌搜索“rss to xhtml”或类似内容。

更新 2:要开始,请执行以下操作:

  • 安装 xsltproc (应该在您的包管理器中可用,但是:downloadsources)
  • 将下面的样式表保存到 rss2xhtml.xsl
  • wget -O - -o/dev/null "http://www.rt.com/rss/news/"| xsltproc rss2xhtml.xsl/dev/stdin > out.xhtml
  • ...很快,这就是您的 HTML

提供的样式表非常基础,如果您想学习这些东西,可以根据需要进行自定义:)

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- http://stackoverflow.com/a/32884376/1529709 -->
<xsl:output method="html" indent="yes"/>
<xsl:template match="text()"></xsl:template>
<xsl:template match="item">
<h2><a href="{link}"><xsl:value-of select="title"/></a></h2>
<p><xsl:value-of select="description" disable-output-escaping="yes"/></p>
</xsl:template>
<xsl:template match="/rss/channel">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title><xsl:value-of select="title"/></title>
<style>img,p {display:block;float:none;}</style>
</head>
<body>
<h1><a href="{link}"><xsl:value-of select="title"/></a></h1>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

关于linux - 如何使用wget下载xhtml网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com