2014-12-03 61 views
0

我想使用HtmlAgilityPack從GSMArena.com上刮取內容,具體來說,我想刮掉手機的技術規格。C#HtmlAgilityPack - Scraping

期望的結果:

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

問題: 節點路徑將幾乎所有車型之間的不同。

我的問題:

我怎麼會湊通過搜索?例如,如果我想刮掉產品重量,是否有辦法告訴HTMLAgilityPack搜索標籤,然後轉到跟隨它的TD,然後刮掉該TD的內部文本?

回答

2

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」節點。