0

我有一个java项目,我想使用一个预先构建的网络爬虫,它给了我足够的灵活性来控制哪些url被爬取,然后一旦爬虫有输出,我想控制把它放在哪里( cassandra 和我自己的模式)。

大局是我想输入一个 url 列表(谷歌和 Bing 搜索),然后过滤返回的 url。我希望它然后抓取过滤后的 url(我可能想更改 url 查询字符串,但这不是硬性要求)。我想获取生成的 html 并使用 Tika 对其进行解析,然后将数据拉出并存储。

我正在查看 Apache Droids,它非常适合,因为它似乎可以完成我提到的所有操作,但没有任何真正的文档。我会考虑 Nutch 或 Heritrix,但用例似乎是一个更完整的解决方案,在略读之后,我没有看到任何关于如何做想做的事情的内容。

有没有人有这种事情的经验?我主要需要一些建议,但是如果您知道做这种事情的示例,那也很好,因为我对 java 还是很陌生。

4

1 回答 1

0

我不会说 Droids 是一个完善的框架。如果您将它与拥有大量历史的 Nutch 进行比较,我预计它会不太稳定且记录较少。不过,我没有使用 Droids 的经验。

至于在 cassandra 中存储数据,我会推荐https://github.com/Netflix/astyanax 或 Hector https://github.com/hector-client/hector

去年我广泛使用了 Hector,发现它非常简单易用。它在 Hector 中的开发速度比它的前辈:纯 Thrift/Pelops 更快,但 Hector 足够灵活,可以让你做你期望从 Thrift 做的细节事情。

最近我也一直在关注 astyanax,因为它由一个更大的团队开发/支持并进行了更大规模的测试,这对我目前的工作领域很重要。但是,Hector 通常在新的 cassandra 版本中实现新功能的速度更快,因此这两个库都有其优点。

于 2013-05-22T22:59:05.810 回答