14

假设我想从许多来源(可能是旅行、技术或其他)汇总与特定利基相关的信息。我该怎么做?

有一个蜘蛛/爬虫会爬网以找到我需要的信息(我如何告诉爬虫爬什么,因为我不想获取整个网络?)?然后有一个索引系统来索引和组织我爬取的信息,同时也是一个搜索引擎?

像 Nutch lucene.apache.org/nutch 这样的系统可以用于我想要的吗?你推荐别的东西吗?

或者你能推荐另一种方法吗?

例如,Techmeme.com 是如何建立的?(它是技术新闻的聚合器,并且是完全自动化的——直到最近他们才增加了一些人工干预)。建立这样的服务需要什么?

或者 Kayak.com 如何汇总他们的数据?(这是一个旅游聚合服务。)

4

3 回答 3

9

这一切都取决于您正在寻找的聚合器。

类型:

  • 定义模糊 - 通常这要求您的数据源非常灵活地确定信息收集的类型(回答此站点/信息是否与旅行相关?幽默?与业务相关?)
  • 特定 - 这放宽了数据存储中的要求,即所有数据都专门针对航班、酒店价格等与旅行相关的要求。

通常,聚合器是子程序的系统:

  1. Grabber,这个搜索并抓取所有需要汇总的内容
  2. 总结 - 这通常通过查询数据库来完成,并且可以根据用户偏好进行调整 [通过编程逻辑]
  3. 查看 - 这会格式化用户希望看到的信息,并且可以响应用户对建议项目的喜欢或不喜欢的反馈。
于 2009-10-08T05:41:13.947 回答
1

对于基本外观 - 看看这个:http ://en.wikipedia.org/wiki/Aggregator

它将为您提供一般聚合器的概述。

关于如何建立自己的聚合器,如果您正在寻找开箱即用的东西,可以让您获得您想要的内容 - 我建议:http ://dailyme.com/

如果您正在寻找一个代码库/架构来构建您自己的聚合器服务 - 我建议直接看一些东西 - 例如:从http://www.reddit.com/打开 Reddit

于 2009-05-29T23:17:51.777 回答
1

您需要定义您的应用程序将要做什么。构建自己的网络爬虫是一项艰巨的任务,因为您倾向于在发现需要它们时不断添加新功能......只会使您的设计复杂化,等等......

构建聚合器有很大不同。 爬虫只是简单地检索要稍后处理的数据,而聚合器则获取已经定义的数据集并将它们放在一起。 如果您使用聚合器,您可能希望查找已定义的旅行提要、财务提要、旅行数据等……聚合器更容易构建 IMO,但它受到更多限制。

相反,如果您想构建一个爬虫,您需要定义起始页面、定义结束条件(爬取深度、时间等)等等,然后仍然处理数据(即聚合、汇总和很快)。

于 2010-08-04T00:20:34.990 回答