gpt4 book ai didi

用于保存整个网页的 C# 代码? (带有图像/格式)

转载 作者:太空狗 更新时间:2023-10-30 00:47:08 24 4
gpt4 key购买 nike

我一直在努力寻找一些 C# 代码的示例(我正在使用 C# Visual Studio 2008 Express ),它可以以编程方式保存整个网页(给定 URL),包括图像和格式(例如 CSS)。我的目的是在后续阶段将其发布(还不确定如何发布),以便稍后可以通过浏览器查看。

是否有保存整个网页的最简单方法(利用 .NET Framework 方法)的示例?另存为带有图像子目录的一页,或其他。基本上与您在浏览器中说“保存整个网页”时得到的结果相同。

最佳答案

最简单的方法可能是添加一个 WebBrowser Control到您的应用程序,并使用 Navigate() 方法将其指向您要保存的页面。

然后,当文档加载后,调用 ShowSaveAsDialog method .然后,用户可以将页面保存为单个文件,或子目录中包含图像的文件。

[更新]

现在注意到您的问题中“以编程方式”,上述方法并不理想,因为它需要用户参与或深入研究 Windows API 以使用 SendKeys 或类似方式发送输入。

.NET Framework 中没有任何内置功能可以满足您的所有要求。

所以我修改后的方法是:

  • 使用 System.NET.HttpWebRequest 以字符串或流的形式获取主要 HTML 文档(简单)。
  • 将其载入 HTMLAgilityPack文档,您现在可以在其中轻松查询文档以获取所有图像元素、样式表链接等的列表。
  • 然后为这些文件中的每一个发出一个单独的 Web 请求,并将它们保存到一个子目录中。
  • 最后更新主页中的所有相关链接以指向子目录中的项目。

实际上,您将实现一个非常简单的网络浏览器。对于使用 JavaScript 动态更改或请求页面内容的页面,您可能会遇到问题,但对于大多数页面来说,这应该会产生可接受的结果。

关于用于保存整个网页的 C# 代码? (带有图像/格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430918/

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