我正在尝试创建一个网络爬虫,它会不断地爬网寻找包含某些关键字的网页。有很多开源解决方案(Nutch、Scrapy 等),但我需要一个可以优先考虑“丰富”资源的智能解决方案。
我希望机器人从某个页面开始,fe http://www.dmoz.org,提取所有链接并继续抓取它们。现在,如果页面包含某个关键字 fe 'foo',它应该将此 url 发送到数据库。
现在,困难的部分来了。如果我创建并运行这样的机器人,蜘蛛可能需要很长时间才能找到包含指定关键字的新页面,因为它正在爬取整个网络。如果蜘蛛能够识别出它经常在哪个域上找到关键字,那么这个过程将会大大加快,从而可以更频繁地抓取这些关键字。
有没有为此的开源解决方案?
到目前为止,我已经看过 Nutch 和 Scrapy。Nutch 看起来是满足我需要的最佳选择,但我对 Java 没有任何经验,也找不到有关此问题的任何特定文档。