其他分享
首页 > 其他分享> > CodeGo.net>使用HTMLAgility包提取链接

CodeGo.net>使用HTMLAgility包提取链接

作者:互联网

考虑以下最简单的代码:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;

namespace WebScraper
{
    class Program
    {
        static void Main(string[] args)
        {
            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml("http://www.google.com");

            foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
            {
            }
        }
    }
}

这实际上根本不做任何事情,并且是从其他各种StackOverflow问题(如this)中复制/启发而来的.
进行编译时,出现运行时错误,提示“对象引用未设置为对象的实例”.突出显示foreach行.

我不明白,为什么环境对于这个不起眼的,无辜的和无用的代码变得烦躁.

我也想知道,HTMLAgilityPack是否接受HTML类作为节点?

解决方法:

如果要从Web加载html,则需要使用HtmlWeb对象:

HtmlWeb web = new HtmlWeb();
HtmlDocument doc =web.Load(url);

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