为垂直搜索引擎开发爬虫和刮刀

Ven*_*Ven 6 search screen-scraping search-engine web-crawler

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

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

小智 1

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

  • 爬虫,

  • 内容提取器,

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

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

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

  • 可选的,面向用户的 GUI

都是单独的主题。

(例如,虽然从 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

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