可以根据关键字确定来源优先级的智能轨道



我正在尝试创建一个不断爬网的webcrawler,以查找包含某些关键字的网页。有很多开源解决方案(Nutch,Scrapy等),但是我需要一个可以优先考虑" Rich"来源的智能解决方案。

我希望该机器人从特定页面开始,F.E。http://www.dmoz.org,提取所有链接,然后继续刮擦它们。现在,如果页面包含特定关键字,F.E." foo",它应该将此URL发送到数据库。

现在,这是困难的部分。如果我创建并运行这样的机器人,则可以花费很长时间才能在蜘蛛找到包含指定关键字的新页面,因为它在整个网络上爬行。如果蜘蛛可以在通常找到关键字的哪个域上识别蜘蛛,则该过程将变得更快,以便将这些域爬行更频繁。

是否有一个开源解决方案?

到目前为止,我已经看了牛肉和废品。Nutch看起来是我需要的最佳选择,但是我对Java没有任何经验,我找不到有关此问题的任何具体文档。

尚未尝试过,但是我认为您可以通过控制额外链路的评分来在nutch中做到这一点。如果您的当前页面包含您的关键字,则可以给出该页面的更高分数。

在http://sujitpal.blogspot.in/2012/01/nutchgora-scoring-scoring-and-indexing-plugins.html

如果您愿意使用基于Java的解决方案,则可能想看看婴儿。婴儿是一个微型网络爬行库。这不是开源项目,而是完全免费的,即使用于商业用途。您应该能够为婴儿编写自己的插件,以控制婴儿队列的顺序。

如果您仍在寻找类似的东西,则可以使用我们非常相似的开源软件之一

github链接

它在基于上下文的规则引擎上工作,您可以在其中分配任何关键字或文本为0到9的单个值,并且何时将其解析,可以让您爬网

它基于ROR

mysql,mongo和ubuntu 14.04与您可以管理自己的其他常规宝石,

最新更新