c# - 以编程方式下载 "COMPLETE"网页?

标签 c# html

<分区>

我正在使用 C#,我想以编程方式下载一个完整的网页......我的意思不仅仅是页面源
我希望网页的下载方式与 FireFox 中的“页面另存为”相同,但我想以编程方式执行此操作?

最佳答案

您需要下载并解析页面以找出所有外部资源,然后依次下载每个资源(并可能解析它并下载其中的资源)。

为了解析 HTML,我建议使用 HTML Agility Pack .您需要牢记要下载的资源(图像、CSS、JavaScript 等)并专门查询页面。

您需要记住,某些页面将定义 base并且您需要考虑这一点以及具有相对和绝对链接的页面 URL。

您可能还想解析 CSS 以获取图像引用等内容。

最后,您需要将所有这些引用更改为指向资源下载位置的本地引用(感谢@Scott M)。

关于c# - 以编程方式下载 "COMPLETE"网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637523/

相关文章:

html - 在我单击检查元素之前,图像不会在 Chrome 中显示

html - 调整 <li> 元素上 border-bottom 的长度

c# - ASP.NET MVC 2 过滤多个下拉列表

css - inline-block to span 标签在 IE 和 webkit-browsers 中表现不同

c# - 安装 .net 4.8 后,Clickonce 应用程序无法启动

c# - 我怎样才能将我的数组属性包含到类构造函数中并能够通过对象初始化访问它?

c# - ISerializable 和继承,正确使用,CA2236

html - 有没有办法在 HTML5 中从相机捕获视频?

c# - 如何使用此方法删除数据库中的行?

c# - 用于用户模板的 RazorEngine - 安全性?