【问题标题】:C# HtmlAgilityPack - ScrapingC# HtmlAgilityPack - 抓取
【发布时间】:2014-12-03 02:58:27
【问题描述】:

我想使用 HtmlAgilityPack 从 GSMArena.com 抓取内容,具体来说,我想抓取手机的技术规格。

期望的结果:

http://www.gsmarena.com/nokia_lumia_520-5322.php 我想刮下重量、尺寸等

问题: 几乎所有模型的节点路径都不同。

我的问题:

我将如何通过搜索进行抓取?例如,如果我想刮产品重量,有没有办法告诉HTMLAgilityPack搜索一个标签,然后去它后面的TD,然后刮那个TD的内部文本?

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

    XPath 是你的朋友。 Learn it here.(如果链接失效,只需谷歌 XPath 1.0 教程)

    对于该文档:

       string weight= doc.DocumentNode.SelectSingleNode(@"//td[a[contains(text(),'Weight')]]/following-sibling::td").InnerText;
    

    会给你重量。

    XPath 说明:对于所有节点 (//),选择包含“a”元素的“td”元素,该元素包含文本“Weight”,然后选择以下“td”节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-01-20
      • 2012-07-20
      相关资源
      最近更新 更多