试着在c#上用敏捷抓取一个网页
本文关键字:网页 一个 抓取 | 更新日期: 2023-09-27 17:54:27
我正在使用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。
您可以选择任何a
子节点和该节点的href
属性,使用:
var href = someNode.SelectNodes("//a")[0].Attributes["href"].Value;