在HTMLAgailityPack中,如何从网站获取未包含在innerhtml方法中的数据。例如,如果在以下链接中:
https://www.theice.com/productguide/ProductSpec.shtml?specId=1496#expiry
以合约符号开头的表格不在innerhtmltext中。请告诉我如何通过HTMLAgailityPack获取此表数据?
此致
答案 0 :(得分:0)
您需要向https://www.theice.com/productguide/ProductSpec.shtml?expiryDates=&specId=1496&_=1342907196619
发送GET请求通过javascript动态加载内容。也许您可以解析innerhtmltext以查看javascript将GET请求发送到
的链接答案 1 :(得分:0)
如果它不是'来自innerhtml'那将意味着它被脚本放入那里。我自己无法查看此页面,所以我不确定。
如果它来自脚本,你就不能轻易搞定。您可以随意查看javascript,也可以在数据进入时阅读。
基本上在浏览器上安装Firebug,然后查看正在进行的数据传输。有时候你很幸运,有时你不是。
或者你可以采用简单的方法并使用winforms WebBrowser控件,将其加载到其中,让它运行脚本然后从那里刮掉。请注意,这会泄漏内存,GDI会像疯了一样处理。
答案 2 :(得分:0)
请使用此XPath来获取您想要的表//*[@id="right"]/div/table
e.g。
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id="right"]/div/table"));
string html = node.InnerHtml;