使用XPath到HtmlAgilityPack選擇“src”值

c# html-agility-pack xpath

我正處於爬行引擎的開發過程中。我的程序使用HtmlAgilityPack通過Xpath抓取網站。我需要直接獲取一些圖像src標籤。您可以在下面看到我的簡單代碼無法正常工作,感謝您的建議!

PS:請忽略“char問題,XPath模式由數據庫提供。

Agility.DocumentNode.SelectSingleNode("//img[@id="product_photo"]/@src");

這是我需要抓取的行( *...*部分顯示要提取的塊)

<img id="product_photo" src="*/images/thumb/4400/10280/st.jpg*">

有些頁面在元標記中提供圖像,因此.Attributes["src"]不起作用。

更新:您可以在此處查看我的查詢和結果詢問

熱門答案

使用時,您無法獲得“src”或任何其他屬性的值:

Agility.DocumentNode.SelectSingleNode(yourXpath);

只需使用:

string s=Agility.DocumentNode.SelectSingleNode(yourXpath).value;

這是因為XPath不能通過HtmlAgilityPack類中的SelectSingleNode()函數返回屬性的值。所以你必須使用SelectSingleNode(yourXpath).value或在pharsing之後使用Regex來獲得沒有outerText的“src”。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因