我正在尝试建立一个专门的搜索引擎网站,为有限数量的网站编制索引。我想出的解决方案是:
问题在于我发现Nutch非常复杂,而且它是一个很大的自定义软件,尽管事实上不存在详细的文档(书籍,最近的教程......等)。
现在提问:
谢谢
答案 0 :(得分:4)
Scrapy是一个抓取网站的python库。它相当小(与Nutch相比),专为有限的站点爬行而设计。它有一个Django类型的MVC风格,我觉得很容易定制。
答案 1 :(得分:4)
答案 2 :(得分:4)
这取决于您认为抓取的网站数量和网址数量。 Apache Nutch将页面文档存储在Apache HBase上(它依赖于Apache Hadoop),它很可靠但很难设置和管理。
由于抓取工具只是一个页面提取(如CURL)并检索链接列表以提供您的URL数据库,我相信您可以自己编写一个抓取工具(特别是如果您有几个网站),使用一个简单的MySQL数据库(也许像RabbitMQ这样的队列软件来安排抓取工作)。
另一方面,爬虫可能更复杂,您可能希望从HTML文档中删除HEAD部分,并仅保留页面的真实“内容”等...
此外,Nutch可以使用PageRank算法对您的页面进行排名。您可以使用Apache Spark执行相同的操作(更有效率,因为Spark可以将数据缓存在内存中)。
答案 3 :(得分:2)
答案 4 :(得分:0)
我相信nutch是您应用程序的最佳选择,但如果您愿意,还有一个简单的工具:Heritrix。 除此之外,我推荐使用js作为前端语言,因为solr返回的json很容易被js处理。