我需要开发一个垂直搜索引擎作为网站的一部分。搜索引擎的数据来自特定类别的网站。我想我需要一个爬虫来抓取几个(几百个)站点(在一个特定的业务类别中),并提取产品和服务的内容和urls。其他类型的页面可能无关紧要。大多数网站都很小或很小(最多只有几百个页面)。产品有10到30个属性。
任何关于如何编写这样的爬虫和提取器的想法。我使用常见的ruby库编写了一些爬虫和内容提取器,但不是一个完全成熟的搜索引擎。我猜,crawler会时不时地从网站上唤醒并下载页面。当然,通常的礼貌行为,比如检查机器人排除规则,都会得到遵守。而内容提取器可以在它读取页面之后更新数据库。如何同步爬虫和提取器?它们应该紧密地集成在一起吗?
发布于 2009-07-20 00:40:53
Nutch构建在Lucene之上,并且已经实现了一个爬虫和几个文档解析器。您还可以使用hook it to Hadoop来实现可伸缩性。
发布于 2009-07-20 00:04:37
在我所熟悉的企业搜索环境中,
H19所有这些层的编程接口、H210
都是独立的主题。
(例如,虽然从HTML页面、PDF和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
祝你好运,让我们知道你发现了什么以及你决定采取的方法。
https://stackoverflow.com/questions/1084444
复制相似问题