编程语言
首页 > 编程语言> > 使用HtmlAgilityPack解析C#中的网页信息

使用HtmlAgilityPack解析C#中的网页信息

作者:互联网

我正在尝试使用HtmlAgilityPack来解析网页信息.这是我的代码:

using System;
using HtmlAgilityPack;

namespace htmparsing
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            string url = "https://bugs.eclipse.org";
            HtmlWeb web = new HtmlWeb();
            HtmlDocument doc = web.Load(url);
            foreach(HtmlNode node in doc){
                //do something here with "node"
            }               
        }
    }
}

但是当我尝试访问doc.DocumentElement.SelectNodes时,我无法在列表中看到DocumentElement.我在引用中添加了HtmlAgilityPack.dll,但我不知道是什么问题.

解决方法:

我有一篇文章演示了使用ASP.NET使用HAP(HTML Agility Pack)抓取DOM元素.它只是让您逐步完成整个过程.你可以看看并尝试一下.

Scraping HTML DOM elements using HtmlAgilityPack (HAP) in ASP.NET

关于你的过程它对我来说很好.我尝试过这种方式就像你做了一次改变一样.

string url = "https://www.google.com";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a")) 
{
    outputLabel.Text += node.InnerHtml;
}

得到了预期的输出.问题是你要求HtmlDocument对象的DocumentElement实际应该是DocumentNode.以下是HTMLAgilityPack开发人员对您遇到的问题的回复.

HTMLDocument.DocumentElement not in object browser

标签:c,html-agility-pack,html
来源: https://codeday.me/bug/20190714/1460026.html