我正在使用WebClient.DownloadString
来废弃网页,遗憾的是DownloadString
在没有CSS和JS更新(在网页加载时在Internet Explorer中制作)的情况下获取了页面源代码。
所以我想知道如何使用WebClient以与Internet Explorer或WebBrowser
控件相同的方式加载整个页面? (使用css和js代码注入)
答案 0 :(得分:1)
所以我想知道如何使用WebClient以与Internet Explorer或WebBrowser控件相同的方式加载整个页面?
你做不到。 WebClient
类用于使用HTTP协议下载 SINGLE 资源。它不理解HTML的概念。如果您需要在此HTML中下载相关资源,则必须使用HTML解析器(例如HTML Agility Pack
)以及在下载的HTML页面中遇到的每个CSS和javascript,使用WebClient发送另一个HTTP请求检索它。
但请记住,根据您尝试抓取的网页,可能会变得更加复杂。例如,网页可以具有javascript,其反过来动态地引用并包括其他静态资源,例如javascript或CSS。 WebClient,因为它不执行javascript可能永远不会知道它们。
答案 1 :(得分:0)
对你来说最好的解决方案是(https://htmlagilitypack.codeplex.com/),它会为你下载webapage的所有内容,但我不确定你是否可以使用这个工具获得css + javascript代码