c# - 使用 HTML 敏捷包加载文件
问题描述
我有一个已生成并存储到文本文件中的网站列表。现在我正在尝试加载该文件,以便重复提取网站 URL 的过程。每次我运行该应用程序时,HtmlAgilityPack.HtmlDocument 都是控制台窗口中唯一填充的内容。
private static async void GetHtmlAsync1()
{
var doc = new HtmlDocument();
doc.Load(FilenameHere);
Console.WriteLine(doc);
}
我遇到这个对吗?
谢谢
解决方案
这是一个完整加载文本文件或 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 并获得所需的内容。
推荐阅读
- javascript - 如何为 React Native 实现 Ant 设计的导航栏
- oracle - ORA-28595: Extproc 代理: 无效的 DLL 路径
- c - 连接 DWORD
- firebase - Firebase 聊天应用程序返回 NPE
- c# - 得到'错误。处理您的请求时发生错误。' 在将数据从excel文件导入服务器中的数据库时
- python - 获取NxN网格python的邻居
- java - 递归方法在android中不起作用
- hugo - 如何禁止相关内容显示在我的帖子中
- xml - 从 XSLT 生成新的 XML
- swift - Firebase 身份验证错误代码 33 FIRAuthInternalErrorDomain 是什么意思?