C# HtmlAgilityPack - Scraping

本文关键字:Scraping HtmlAgilityPack | 更新日期: 2023-09-27 18:32:56

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

期望的结果:

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

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

我的问题:

我将如何通过搜索来抓取?例如,如果我想抓取产品重量,有没有办法告诉 HTMLAgilityPack 搜索标签,然后转到它后面的 TD,然后抓取该 TD 的内部文本?

C# HtmlAgilityPack - Scraping

XPath 是你的朋友。在这里学习。(如果链接腐烂,只需谷歌XPath 1.0教程)

对于该文档:

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

会让你体重。

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