2013-12-20 48 views
1

有这个问题。我能够很好地检索一个网站的所有信息,除了收到内容响应之后(我猜)用Jquery加载的信息。用HtmlWeb.Load抓取jquery加载的内容

有没有办法让这dynamatically加载内容以及?我已经试图寻找这对谷歌和这里,但无法弄清楚如何discribe我的问题非常好..

简单情况: 我有这个网站与汽车的信息:http://www.autowiki.nl/autovergelijker 有不同最重要的是例如'merk'(汽车品牌) 当我选择一个汽车品牌时,模型的下拉列表中已经填充了匹配的品牌(并且这也改变了网址)

所以如果我访问网站http://www.autowiki.nl/autovergelijker/#merk_1=15,然后我在我的浏览器中看到,品牌下拉菜单中包含“现代”,下拉菜单中包含与现代模型

我想 读出所有的车型在下拉列表模式是什么

我的代码

Dim page as HtmlWeb = New HtmlWeb 
Dim doc as HtmlDocument = page.Load('http://www.autowiki.nl/autovergelijker/#merk_1=15') 
Dim crawlstring as String = doc.DocumentNode.SelectSingleNode("//select[@id='model_1']").InnerHtml 

我得到了什么 的Crawlstring包含一个选项,这是empy的'---'。而不是匹配型号

回答

0

用C#

var list=new List<yourVar>();var web = new HtmlWeb(); var doc = web.Load("http://www.autowiki.nl/autovergelijker/#merk_1=15"); var xpath = "//select[@id='model_1']//option[@value]";foreach (HtmlNode Node in doc.DocumentNode.SelectNodes(xpath)){ var yourVar=Node.Attributes["value"].Value;list.Add(yourVar);}