【问题标题】:Html Agility Pack: Find Comment NodeHtml Agility Pack:查找评论节点
【发布时间】:2011-04-20 03:24:29
【问题描述】:

我正在抓取一个网站,该网站使用 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>

对于这个站点,有许多脚本块,因此我需要通过查找此自动生成的评论 &lt;!--Module 328 Buying Options Table--&gt; 来缩小范围,并且该节点的兄弟节点将是正确的脚本块。

知道如何搜索特定评论然后获取相邻的脚本块吗?

谢谢!

【问题讨论】:

  • +1 表示不使用正则表达式!

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


【解决方案1】:
htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script")

【讨论】:

  • 就像一个魅力。谢谢!现在,我需要一种方法来解析 Javascript 对象。
  • 只是再添加一件事。一旦我得到脚本注释,我就能够使用正则表达式解析出我需要的信息。谢谢!
猜你喜欢
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 2012-01-07
相关资源
最近更新 更多