2015-12-14 74 views
-1

这是有点棘手,但这是如何去。从网站检索html

  1. 页负载
  2. 执行一些javascript产生更多的HTML代码。而源代码是我需要的。 现在我看到我不能使用html解析器,因为实际上没有运行代码的方法。 使用http我可以管理获取第一个源代码,但JavaScript不执行,所以我从来没有得到我需要的源代码。

检索之后生成的代码的最佳方法是什么?

编辑:我试图避免使用隐藏的Web浏览器。它实际上是可能的,因为它在这里作为JavaScript解释器工作,但它是非常缓慢和非常丑陋的方式。

EDIT2:添加的代码

static private string _InetReadEx(string sUrl) 
     { 
      string aRet; 
      HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(sUrl); 
      try 
      { 
       webReq.CookieContainer = new CookieContainer(); 
       webReq.Method = "GET"; 
       using (WebResponse response = webReq.GetResponse()) 
       { 
        using (Stream stream = response.GetResponseStream()) 
        { 
         StreamReader reader = new StreamReader(stream); 
         aRet = reader.ReadToEnd(); 
         return aRet; 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
       return string.Empty; 
      } 
     } 
+1

如果你正在生成HTML,那么你有HTML。 –

+0

你是否试图从给定和/或特定的网页下载html源代码?如果是这样,请显示您的代码也可以很容易地使用WebClient完成。也许你可以告诉我们你到目前为止,所以我们不会被所有人困惑,或者玩猜谜游戏 – MethodMan

+0

@MethodMan我想获取特定网页的html。代码添加 –

回答

0

除非你使用WebBrowser控件你提到你希望避免的。没有其他召开方式。

可以模拟运行并执行JavaScript的行为,比格式化为web浏览器做,但是这不会是动态的格式,因此更需要的。

+0

我会在桌面上使用这个和电话应用程序。这将是非常缓慢的手机应用程序。 –

+0

嗯。我用web浏览器,但我有一个问题。服务器告诉我我的浏览器已过时。这是一个WP8.1应用程序。所以这也不会工作 –

+0

那么第二种方法呢?你能帮我一把吗?我不知道该怎么做 –