嗨,当我尝试右键单击并保存网页时,网页保存为.xhtml。但是,当我尝试使用wget或curl下载它时,它正在以.html格式下载。有什么办法可以下载它,就像.xhtml一样吗?我真的需要它。如何使用wget下载xhtml网页
回答
您可以通过添加参数-O做到这一点:
wget -O centos-org.xhtml https://www.centos.org
或者你可以尝试做到这一点使用卷曲
curl https://www.centos.org > centos-org.xhtml
是的,我试过那些,没用。 :(这里有一个奇怪的问题。我在做一个使用yad --html小部件的项目。 html --uri的输入是一个html页面。只有当我手动将页面下载为xhtml,然后将其重命名为html,然后将该html输入到--uri时,它才起作用。我不知道为什么,我不想知道为什么。我只是想使用命令进行手动过程。这是我的RSS网址:http://www.rt.com/rss/news/ – jeevanreddymandali
这是输出当我打开输出文件使用您的方法:XML解析错误:不匹配的标记。预计:。位置:file:///home/jeevan/centos-org.xhtml第21行第3列: -^ – jeevanreddymandali
据我所知,唯一的区别是扩展。
wget http://website.com/index.html && mv index.html index.xhtml
尝试手动下载此文件(http://www.rt.com/rss/news/)然后将其重命名为.html,然后馈给yad --html --browser --uri =“file.html”。然后使用一些命令下载它并重命名它并将其提供给yad。输出不适合第二个。 :(我真的需要它 – jeevanreddymandali
这不是一个静态页面,它是一个RSS源,这些往往会有很大的差异 – x13
哦好吧感谢清除,请告诉我一种方式:) – jeevanreddymandali
您正在下载的RSS feed。这不是(X)HTML文档,而是它自己类型的XML文档。 您的浏览器正在显示RSS订阅XML的(X)HTML表示。如果您在浏览器中单击“另存为”,则会将该表示保存到磁盘。如果您针对RSS Feed的URL运行wget
/curl
,则表示您正在下载其XML文件。每个浏览器都可以为RSS提要选择不同的表示形式。没有办法模仿wget
/curl
。
更新1:您需要一个将RSS源XML转换为XHTML(即,类型A的XML转换为类型B的XML)的软件。这是通过XSLT(可扩展样式表语言转换)完成的。没有明显的或“正确”的解决方案,因为可以通过编写任意XSL样式表来自由选择目标表示。请注意,这并不容易。根据您使用的技术堆栈,可能还有预制解决方案。尝试使用谷歌搜索“RSS到XHTML”或类似。
更新2:为了让您一开始,执行以下操作:
- 安装
xsltproc
(应该在你的包管理器可用,但:download,sources) - 保存下面的样式表
rss2xhtml.xsl
wget -O - -o /dev/null "http://www.rt.com/rss/news/" | xsltproc rss2xhtml.xsl /dev/stdin > out.xhtml
- ...和presto,有你的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>
哦好吧感谢清除,请告诉我一种方式:) – jeevanreddymandali
@jeevanreddymandali,我有一个解决方案,为您尝试 – zb226
- 1. 如何使用Wget下载网页?
- 2. 使用wget和cron下载网页
- 3. 使用wget从网页下载图像
- 4. 如何使用用户代理使用Wget下载网页
- 5. 如何使用wget下载网页的全部内容(首页)
- 6. 使用wget仅以纯xhtml格式下载dokuwiki页面
- 7. 如何使用wget在python下载网页(mhtml格式)
- 8. 使用wget下载多个网址。
- 9. 如何使用wget下载报告
- 10. 使用wget和卷曲的网页奇怪的下载
- 11. 是否可以使用wget从网页下载PHP脚本?
- 12. 使用wget从网页下载所有数据
- 13. 如何使用wget在网站上下载最新的文件?
- 14. 如何使用--accept-regex选项通过wget下载网站?
- 15. 如何使用wget将大量zip文件下载到网址
- 16. 如何使用wget从网站下载所有图像?
- 17. 如何仅使用wget从网站下载.exe文件?
- 18. 如何使用wget从网站下载图片
- 19. 使用下载的wget
- 20. 使用wget下载文件
- 21. 如何使用perl下载网页?
- 22. 如何使用vapply下载网页?
- 23. 正在下载网页。 OK用wget的,无法用java
- 24. 如何使用wget下载最新的OSS连接包使用wget
- 25. 在windows下使用wget下载多个网址?
- 26. 使用wget下载使用-i选项
- 27. 使用Android下载网页
- 28. 使用NSURLDownload下载网页
- 29. Wget下载html
- 30. 如何使用变量在Python中使用wget进行下载?
什么是下载'.html'和'.xhtml'之间的差异文件,除了它们的扩展名? – zb226
你试过卷曲吗? –
@ zb226嗨,我个人不知道有什么区别,但我在这里有一个奇怪的问题。我在做一个使用yad --html小部件的项目。 html --uri的输入是一个html页面。只有当我手动将页面下载为xhtml,然后将其重命名为html,然后将该html输入到--uri时,它才起作用。我不知道为什么,我不想知道为什么。我只是想使用命令进行手动过程。这是我的rss网址:http://www.rt.com/rss/news/ – jeevanreddymandali