【发布时间】:2012-06-10 17:45:05
【问题描述】:
我正在寻找 C# 中的网络爬虫或链接爬虫的实现,我可以对其进行修改以满足我们的需要。我们需要一些可以按需运行的东西来抓取我们网站的列表,以留意某些链接。蜘蛛不需要存储站点的副本、下载图像或任何类似的东西——它只需要报告链接到与一小部分子字符串列表匹配的某些站点的任何页面。
我见过像 arachnode.net 之类的爬虫实现(以及无数其他示例),但它们都包含大量围绕保存内容的代码。我们不需要这样做。我们只需要解析每个链接的页面并报告任何包含满足特定条件的链接的页面(这将是一个简单的子字符串匹配)。
谁能推荐一个可以帮助我入门的框架或示例?似乎有很多方法可以做到这一点(尤其是使用 .NET 4 和 HTML Agility Pack),但由于我们需要定期运行它,因此高性能的线程或并行处理实现很重要。
[编辑]
我可能不清楚——这必须在桌面上运行,而不是作为 ASP.Net 网站的一部分。公司拥有的站点跨越许多域、服务器和地理位置,因此它不能成为服务器端解决方案。
【问题讨论】:
-
DEMO 中有一个免费版本可以做到这一点(Console.Benchmark)...另外,您不必保存数据,可以将其关闭。 AN.Next 比成熟的 AN 更轻,您可以通过代表附加您的规则 - 非常简单......(不是我有偏见或任何东西......)
-
你可能想看看我的实现。 stackoverflow.com/a/16975398/1610747
标签: c# multithreading web-crawler