从网站解析实时源代码

时间:2013-08-21 13:11:34

标签: c# javascript

我正在尝试解析Grooveshark中的歌曲,但我不知道如何访问JavaScript更新的源代码。当我使用URL时,我获得原始源代码而不是JavaScript更新的实时源代码,这意味着我无法访问一些新的ID数据。

var node = doc.DocumentNode.SelectSingleNode("//*[@id='now-playing-metadata']/a");
text = node.FirstChild.InnerText.Trim();

我正在使用HTML Agility库来解析网站。

1 个答案:

答案 0 :(得分:1)

正如您所知,问题是Html Agility Pack只是使用Http客户端将URL下载为字符串。在您的情况下,您需要在带有DOM的Javascript引擎中执行下载的内容。我建议使用像phantom.js这样的无头浏览器客户端,可以使用C#驱动程序。

使用phantom.js,您可以执行以下操作:

driver.Navigate().GoToUrl("http://www.grooveshark.com/");
var node = driver.FindElement(By.Id("now-playing-metadata"));