【问题标题】:Parsing a website data c# - HTML agility pack解析网站数据 c# - HTML 敏捷包
【发布时间】:2014-07-19 15:15:37
【问题描述】:

我试图解析这个网站的结果。 http://www.nokia.com/in-en/store-locator/?action=storeSearch&qt=madurai&tags=Nokia_Recycling_Point&country=IN

我特别需要 div 类“result-wrapper”的内容。也就是说,所有的 'h4'、'category' 和 'description' 跨度类。以下是我可以达到的代码,稍后我不知道要解析那个特定的 div。我需要帮助来获取该 div 类的所有内容。

protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            string htmlPage = "";
            using (var client = new HttpClient())
            {
                try
                {
                    htmlPage = await client.GetStringAsync("http://www.nokia.com/in-en/store-locator/?action=storeSearch&qt=madurai&tags=Nokia_Recycling_Point&country=IN");
                }
                catch (HttpRequestException exc) { }
            }

        HtmlDocument htmlDocument = new HtmlDocument();
        htmlDocument.LoadHtml(htmlPage);

【问题讨论】:

    标签: c# windows-phone-8 html-parsing html-agility-pack


    【解决方案1】:

    嗯,你可以试试:

    var resultWrapperDivs = htmlDocument.DocumentNode.SelectNodes("//div[@class='result-wrapper']");
    foreach (var resultWrapperDiv in resultWrapperDivs)
    {
        // Do stuff with each div.
    }
    

    此外,要获取特定内容/“html 标记”,您可以单独获取每个 resultWrapperDiv 并获取其子节点(resultWrapperDiv.SelectSingleNoderesultWrapperDiv.SelectNodes

    【讨论】:

    • 谢谢@shemuel。要获取子节点,我必须执行 resultWrapperDiv.SelectNodes("h4").InnerText 对吗?
    • 是的。如果您需要该标签的内容。如果你需要 HTML 内容,你有 InnerHtml
    猜你喜欢
    • 1970-01-01
    • 2010-10-13
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多