6

我需要开发一个垂直搜索引擎作为网站的一部分。搜索引擎的数据来自特定类别的网站。我想为此我需要一个爬虫来爬取几个(几百个)网站(在特定的业务类别中)并提取产品和服务的内容和网址。其他类型的页面可能无关紧要。大多数网站很小或很小(最多几百页)。产品有 10 到 30 个属性。

关于如何编写这样的爬虫和提取器的任何想法。我使用常用​​的 ruby​​ 库编写了一些爬虫和内容提取器,但不是一个成熟的搜索引擎。我想,爬虫有时会醒来并从网站下载页面。当然,将遵循通常的礼貌行为,例如检查机器人排除规则。而内容提取器可以在读取页面后更新数据库。如何同步爬虫和提取器?它们应该集成到何种程度?

4

2 回答 2

3

Nutch建立在 Lucene 之上,并且已经实现了一个爬虫和几个文档解析器。您还可以将其连接到 Hadoop以实现可扩展性。

于 2009-07-20T00:40:52.900 回答
1

在我习惯工作的企业搜索环境中,

  • 爬虫,

  • 内容提取器,

  • 搜索引擎索引(以及将您的内容加载到这些索引中),

  • 能够使用各种搜索运算符有效地查询该数据,

  • 所有这些层的编程接口,

  • 可选的,面向用户的 GUI

都是单独的话题。

(例如,虽然从 HTML 页面 VS PDF VS MS Word 文件中提取有用信息在概念上是相似的,但对于任何通用解决方案,这些任务的实际编程仍然在进行中。)

您可能想查看 Lucene 开源工具套件,了解它们如何组合在一起,并可能决定学习如何使用这些工具(或其他类似工具)比重新发明非常大的工具更好,复杂的轮子。

我相信书,所以感谢您的询问,我发现了这本书并订购了它。对搜索工具难题的一种可能解决方案看起来不错。

http://www.amazon.com/Building-Search-Applications-Lucene-LingPipe/product-reviews/0615204252/ref=cm_cr_pr_hist_5?ie=UTF8&showViewpoints=0&filterBy=addFiveStar

祝你好运,让我们知道你发现了什么以及你决定采取的方法。

于 2009-07-20T00:04:37.260 回答