我正在使用C#,我想以编程方式下载一个完整的网页......我的意思不仅仅是页面来源
我希望网页下载与FireFox中的“save page as”相同,但我想以编程方式执行此操作?
答案 0 :(得分:10)
您需要下载并解析页面以查找所有外部资源,然后依次下载(并可能解析并下载其中的资源)。
为解析HTML,我建议使用HTML Agility Pack。您需要记住要下载的资源(图像,CSS,javascript等)并查询页面。
您需要记住,某些页面会定义base
,您需要考虑该页面以及具有相对和绝对链接的页面网址。
您可能还想解析CSS以获取图片引用等内容。
要完成,您需要将所有这些引用更改为指向资源下载位置的本地引用(感谢@Scott M)。