Html Agility Pack:查找评论节点

时间:2010-10-02 03:12:32

标签: c# html xpath html-agility-pack web-scraping

我正在抓取一个使用Javascript动态填充Html Agility包网站内容的网站。

基本上,我正在搜索XPATH "\\div[@class='PricingInfo']",但是这个div节点是通过Javascript写入DOM的。

因此,当我通过Html Agility包加载页面时,找不到上面提到的XPATH。

事实证明在我要解析的特定脚本块之前有一条注释。

<!--Module 328 Buying Options Table-->
<script type="text/javascript" language="JavaScript">
    var data = {
        price: 30.00
    }
</script>

对于这个站点,有很多脚本块,因此我需要通过查找此自动生成的注释<!--Module 328 Buying Options Table-->来缩小它,并且该节点的兄弟将是正确的脚本块。

有关如何搜索特定注释然后获取相邻脚本块的任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:16)

htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script")