-1

我正在抓取网页,当我在带有 IE 8 的 Windows XP 机器上运行我的抓取应用程序时(它是 Windows XP 支持的最大),它从 webBrowser.Body.OuterHtml 返回不同的 HTML 源代码,而不是在带有 IE9 的 Windows 7 上运行。有谁知道如何从 webbrowser 控件中获取未修改的原始 html ???我知道 IE 会修改 HTML,所以我想知道如何获取从 Web 服务器返回的原始 html。这很烦人,因为我在我的 Windows 7 开发盒上编写了刮板,然后当我将它托管在 Windows XP 盒上时它就不起作用了。如果您回答不要告诉我使用 WebClient 并下载页面,我想轻松支持浏览页面,而不必担心由 webbrowser 控件处理的其他小网页内容。我使用网络浏览器控件是有原因的。是否有网络浏览器。

4

1 回答 1

2

从根本上说,您有两个相反的担忧:

  • 您想获得原始源,未经浏览器可以做的任何修改
  • 您想让浏览器做一些事情,因为您显然发现它很有用。(您说过您使用WebBrowser“出于某种原因”,但您实际上并没有告诉我们那个原因是什么。)

如果您确实出于某种原因需要使用WebBrowser,您可能需要两次获取每个页面:一次在浏览器中(以便它可以执行您需要的任何操作)和一次WebClient(以便您可以在没有任何混乱的情况下获得响应) .

也有可能在浏览器控件中禁用脚本会做你需要的一切 - 但由于你没有首先给我们使用浏览器控件的原因,这可能无济于事......

于 2012-07-15T07:13:09.293 回答