0
我想學習一些基本的刮擦和感謝這個網站我已經能夠學到很多新東西,但現在我堅持這個問題...這是代碼我使用:Html Agility Pack空值從表
var web = new HtmlWeb();
var doc = web.Load("url");
var nodes = doc.DocumentNode.SelectNodes("//*[@id='hotellist_inner']/div");
StreamWriter output = new StreamWriter("out.txt");
if (nodes != null)
{
foreach (HtmlNode item in nodes)
{
if (item != null && item.Attributes["data-recommended"] != null)
{
string line = "";
var nome = item.SelectSingleNode(".//h3/a").InnerText;
var rating = item.SelectSingleNode(".//span[@class='rating']").InnerText;
var price = item.SelectSingleNode("./div[2]/div[3]/div[2]/table/tbody/tr/td[4]/div/strong[1]");
var discount = item.SelectSingleNode("./div[2]/div[3]/div[2]/table/tbody/tr/td[4]/div/div[1]");
line = line + nome + "," + rating + "," + price + "," + discount;
Console.WriteLine(line);
output.WriteLine(line);
}
}
}
這一切工作正常,前兩個項目(名稱和等級),但是當涉及到價格和折扣,我得到空的結果。我用鉻刮板分析了頁面(這裏是link),它使用我已經使用的xpath輕鬆獲得結果。我不明白我做錯了什麼。 任何幫助,將不勝感激! :D
由於FOT答案!我已經嘗試過您的更改,但很遺憾,我仍然得到空的結果。我可以正確地獲得名稱和評分,但其他項目是空的,就好像在源頁面中根本沒有價格,而我可以看到有一些! 爲什麼代碼適合你而不適合我? :(:(( – Jack 2014-09-03 21:14:45
它看起來好像它只是不會讀取內部表中的內容......是否有可能?事實上,如果我嘗試從主節點獲取所有HTML,我仍然不會得到價格或折扣。 – Jack 2014-09-03 21:21:31
不,不可能,據我所知 – har07 2014-09-04 13:44:05