我正在嘗試使用HTML Agility Pack從以下內容中獲取描述文本:

<meta name="description" content="**this is the text i want to extract and store in a string**" />

不久前有人在Stackoverflow上建議我使用HTMLAgilityPack。但我不知道如何使用它,我找到的文檔(包括下載中包含的文檔)都有無效的鏈接,因此無法查看文檔。

有人可以幫我解決這個問題嗎?

專家解答

用法與XmlDocument非常相似;您可以在XmlDocument上使用MSDN進行廣泛的概述;您可能還想學習xpath語法( MSDN )。

例:

HtmlDocument doc = new HtmlDocument();
doc.Load(path); // or .LoadHtml(html);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//meta[@name='description']");
if (node != null) {
    string desc = node.GetAttributeValue("content", "");
    // TODO: write desc somewhere
}

GetAttributeValue的第二個參數是在找不到該屬性時返回的默認值。


熱門答案

public string HtmlAgi(string url,string key){

    var Webget = new HtmlWeb();
    var doc = Webget.Load(url);
    HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(string.Format("//meta[@name='{0}']", key));

    if (ourNode != null)
    {


            return ourNode.GetAttributeValue("content", "");

    }
    else
    {
        return "not fount";
    }

}


Related

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