我想使用HTML敏捷包來解析HTML頁面中的圖片和href鏈接,但我對XML或XPath知之甚少。儘管在許多網站上查找幫助文檔,但我無法解決問題。此外,我在VisualStudio 2005中使用C#,而且我不能流利地說英文,所以,我會衷心感謝能寫出一些有用的代碼。如何使用Html Agility Pack獲取img/src或a/hrefs?
7
A
回答
21
主頁上的做一些非常相似,但考慮:
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm"); // would need doc.LoadHtml(htmlSource) if it is not a file
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
string href = link["href"].Value;
// store href somewhere
}
所以你可以想象,對於IMG SRC @,只需更換每個a
與img
,並且href
與src
。 你甚至可以簡化爲:
foreach(HtmlNode node in doc.DocumentElement
.SelectNodes("//a/@href | //img/@src")
{
list.Add(node.Value);
}
相對URL處理,看看Uri
類。
+0
非常感謝!這是我第一次詢問經驗 – iShow 2011-01-29 11:12:03
6
該示例和接受的答案是錯誤的。它不會用最新版本進行編譯。我嘗試別的:
private List<string> ParseLinks(string html)
{
var doc = new HtmlDocument();
doc.LoadHtml(html);
var nodes = doc.DocumentNode.SelectNodes("//a[@href]");
return nodes == null ? new List<string>() : nodes.ToList().ConvertAll(
r => r.Attributes.ToList().ConvertAll(
i => i.Value)).SelectMany(j => j).ToList();
}
這對我有用。
1
也許我太遲了,在這裏發表一個答案。以下爲我工作:
var MainImageString = MainImageNode.Attributes.Where(i=> i.Name=="src").FirstOrDefault();
相關問題
- 1. Html Agility Pack c#
- 2. Html Agility Pack Dll
- 3. Html Agility Pack Xpath
- 4. 無法使用Html Agility Pack獲得XPATH
- 5. 使用Html Agility Pack抓取H3的InnerText
- 6. 使用Html Agility Pack提取表格
- 7. HTML Agility Pack - 獲取頁面摘要
- 8. 使用html-agility-pack無法從HTML代碼獲取值
- 9. 使用Html Agility Pack獲取html頁面上的所有divs id
- 10. Html Agility Pack Foreach Reverse
- 11. Html Agility Pack xpath IEnumerable
- 12. 如何使用C#和html-agility-pack獲取html文件中的表的數量
- 13. 使用HTML Agility Pack獲取元素的結尾?
- 14. 使用HTML Agility Pack在圖片旁邊獲取文字?
- 15. 使用Html Agility Pack從網頁獲取價值
- 16. 如何獲取特定單元格的值C#Html-Agility-Pack
- 17. 如何從網站獲取數據登錄後(Html Agility pack)
- 18. 我可以使用Html Agility Pack嗎?
- 19. Html Agility Pack - 從html文檔中獲取html片段
- 20. Html Agility Pack鏈接和img src提取
- 21. Html Agility PacK vs Sharp Query?
- 22. Html Agility Pack DocumentNode.SelectNodes返回null
- 23. Mono for Android Html Agility Pack
- 24. Html Agility Pack空值從表
- 25. Html Agility Pack xPath問題
- 26. 如何使用Html Agility Pack找到html標籤節點位置
- 27. 如何使用HTML Agility Pack動態解析HTML代碼?
- 28. 如何使用HTML Agility Pack修復格式不正確的HTML?
- 29. 如何使用HTML Agility Pack編輯HTML片段
- 30. 如何使用Html Agility Pack加載文本爲html
而且,可以Html敏捷包解決相對路徑? – iShow 2011-01-29 08:30:22