【问题标题】:How can i get the final html from remote website?如何从远程网站获取最终的 html?
【发布时间】:2014-02-24 14:11:43
【问题描述】:

我想从其他网站下载最终的 html 源代码(在所有 javascript 代码运行之后)。 例如,我在远程 html 文件中有一个部分 jquery,如下所示:

$(document).ready(function () {
   $('#dynamic').after('some dynamic content when page load');
});

这是在我的 c# 代码中:

var client = new WebClient();            
client.Encoding = System.Text.Encoding.UTF8;            
var content = client.DownloadString("http://myremotedomain.com/");

并且还使用 WebRequest 和 WebResponse 来做与上面相同的事情。 甚至可以从此链接Use webbrowser control in asp.net以窗口形式使用Webbrowser

但我无法获得最终的 html 源代码,结果只是原始 html,不受 JavaScript 影响。

【问题讨论】:

  • 浏览器中的 javascript 代码没有“之后” - 它一直运行到您关闭页面为止。
  • 一般情况下您不应该这样做 - 现在是 2014 年,所有想要共享其数据的网站都为此提供了方便的 API。
  • @zerkms "after" 是 jquery 函数!我的目的是使用“Webclient”,“HttpWebRequest,HttpWebResponse”从其他网站下载 html 源,但它们都返回原始 html。这意味着远程域之前的 html 通过 jquery 插件或一些 javascript 代码填充其 html 内容。如果您不知道我的意思,请告诉我!谢谢。
  • 我知道你的意思,你对浏览器中 JS 工作原理的理解是错误的。
  • 请给我解决这个问题的方法!? .net 中是否有任何东西可以做到这一点。

标签: c#


【解决方案1】:

您将需要一个实际运行 javascript 的无头浏览器。使用带有 C# API 的无头浏览器列表查看其他帖子。 Headless browser for C# (.NET)?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多