C# 尝试在C上敏捷地抓取网页#

C# 尝试在C上敏捷地抓取网页#,c#,ajax,screen-scraping,html-agility-pack,C#,Ajax,Screen Scraping,Html Agility Pack,我正在使用C#和Agility Pack来抓取一个网站,但我得到的结果与我在firebug中看到的不同。我想这是因为该站点使用了一些Ajax // The HtmlWeb class is a utility class to get the HTML over HTTP HtmlWeb htmlWeb = new HtmlWeb(); // Creates an HtmlDocument object from an URL HtmlAgilityPack.HtmlDocument docum

我正在使用C#和Agility Pack来抓取一个网站,但我得到的结果与我在firebug中看到的不同。我想这是因为该站点使用了一些Ajax

// The HtmlWeb class is a utility class to get the HTML over HTTP
HtmlWeb htmlWeb = new HtmlWeb();
// Creates an HtmlDocument object from an URL
HtmlAgilityPack.HtmlDocument document = htmlWeb.Load("http://www.saxobank.com/market-insight/saxotools/forex-open-positions");
// Targets a specific node
HtmlNode someNode = document.GetElementbyId("href");
// If there is no node with that Id, someNode will be null
richTextBox1.Text = document.DocumentNode.OuterHtml;
有没有人可以就如何正确执行此操作的代码提供建议,因为我得到的只是纯html。我要找的是一个

div id= "ctl00_MainContent_PositionRatios1_canvasContainer"
有什么想法吗?

如果您有ID,那么使用它-
href
是属性的名称,而不是
ID

HtmlNode someNode = 
    document.GetElementbyId("ctl00_MainContent_PositionRatios1_canvasContainer");
这将是具有该id的div

然后,您可以使用以下命令选择该节点的任何
子节点及其
href
属性:

var href = someNode.SelectNodes("//a")[0].Attributes["href"].Value;