首页 > 解决方案 > 使用 HTML 敏捷包加载文件

问题描述

我有一个已生成并存储到文本文件中的网站列表。现在我正在尝试加载该文件,以便重复提取网站 URL 的过程。每次我运行该应用程序时,HtmlAgilityPack.HtmlDocument 都是控制台窗口中唯一填充的内容。

    private static async void GetHtmlAsync1()
    {
        var doc = new HtmlDocument();
        doc.Load(FilenameHere);
        Console.WriteLine(doc);
    }

我遇到这个对吗?

谢谢

标签: c#html-agility-pack

解决方案


这是一个完整加载文本文件或 URL 并读取其内容的示例。我的测试文件与我的项目文件位于同一位置。

    List<string> allUrls = File.ReadAllLines($@"{Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName}\test.txt").ToList();
    HtmlDocument doc = new HtmlDocument();
    foreach(string url in allUrls)
    {
        doc = new HtmlWeb().Load(url);
        Console.WriteLine(doc.DocumentNode.InnerHtml);
    }

请注意,我只打印整个网站,您可以使用 HtmlAgilityPack 来实际抓取您感兴趣的数据(例如拉取所有链接或特定类项。

  • 从文件中读取行
  • 使用 HtmlWeb 从 URL 加载数据。
  • 遍历每个 URL 并获得所需的内容。

推荐阅读