开源搜索引擎的比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开源搜索引擎的比较
1.Nutch
简介:
Nutch是一个用java实现的基于Lucene的开源搜索引擎框架,主要包括爬虫和查询两部
分组成。Nutch所使用的数据文件主要有以下三种:1)是webDb,保存网页链接结构信息,只在爬虫工作中使用。2)是segment,存储网页内容及其索引,以产生的时间来命名。segment文件内容包括CrawlDatum、Content、ParseData、ParseText四个部分,其中CrawlDatum保存抓取的基本信息,content保存html脚本,ParseData和ParseText这两个部分是对原内容的解析结果。3)是index,即索引文件,它把各个segment的信息进行了整合。爬虫的搜索策略是采用广度优先方式抓取网页,且只获取并保存可索引的内
容。
Nutch0.7需要java1.4以上的版本,nutch1.0需要java1.6。
特点:
1、遵循robots.txt,当爬虫访问一个站点时,会首先检查该站点根目录下是
否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令
保护的页面。
2、采用基于Hadoop的分布式处理模型,支持分布式的实现。
3、Nutch可以修剪内容,或者对内容格式进行转换。
4、Nutch使用插件机制,可以很好的被用户定制和集
成。5、Nutch采用了多线程技术。
6、将爬取和建索引整合在了一起,爬取内容的存储方式是其自己定义的segment,不便于对爬取的内容进行再次处理,需要进行一定的修改。
7、因为加入了对页面分析,
建索引等功能其效率与heritrix相比要相对较低。
全国注册建筑师、建造师考试备考资料历年真题考试心得模拟试题2.Heritrix
简介:
Heritrix是一个用Java实现的基于整个web的可扩展的开源爬虫框架。Heritrix主要由三大部件:范围部件,边界部件,处理器链组成。范围部件主要按照规则决定将哪个URI 入队;边界部件跟踪哪个预定的URI将被收集,和已经被收集的URI,选择下一个URI,剔除已经处理过的URI;处理器链包含若干处理器获取URI,分析结果,将它们传回给边界部件。采用广度优先算法进行爬取。
heritrix用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相同的URL不针对先前的进行替换。
特点:
1、各个部件都具有较高的可扩展的,通过对各个部件的修改可以实现自己的抓取逻辑。
2、可以进行多种的配置,包括可设置输出日志,归档文件和临时文件的位置;可设置下载的最大字节,最大数量的下载文档,和最大的下载时间;可设置工作线程数量;可设置所利用的带宽的上界;可在设置之后一定时间重新选择;包含一些可设置的过滤机制,表达方式,URI路径深度选择等等。
3、采用多线程技术。
4、保存的内容是原始的内容,采用镜像方式存储,即按照斜杠所划分出的层次结构进行存储,同时也会爬取图片等信息。
5、同样也遵守robots.txt规范。
6、在硬件和系统失败时,恢复能力很差。
3.WebSPHINX
简介:
WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。爬虫工作台提供接口实现对爬虫的配置;类包则提供对爬虫进行扩展需要的一些支持。
其工作原理为从一个基点网站出发,遍历其中的所有有用信息,同时抽去其中的链接信息放入队列,以待有空闲蠕虫(worm)时,从队列中读取,发出request 请求,继续进行信息抽取和链接入队列的工作。
特点:
1、保存网页的原始内容。
2、采用多线程技术。
3、采用广度优先遍历算法进行爬取。
4、支持HTML解析,URL过滤,页面配置,模式匹配等等。
5、适用于爬取小规模的网页,例如爬取单一的个人站点。
4.Weblech
简介:
WebLech是一个用Java实现的功能强大的Web站点下载与镜像工具。它支持按功能需求来下载web站点并能够尽可能模仿标准Web浏览器的行为。WebLech有一个功能控制台并采用多线程操作。
特点:
1、支持多线程技术。
2、可维持网页的链接信息,可配置性较强,配置较为灵活,可设置需获取的网页文件的类型、起始地址、抓取策略等14 项内容。
3、采用广度优先遍历算法爬取网页。
4、保存网页的原始内容。
5.Jspider
简介:
JSpider是一个完全用Java实现的可配置和定制的Web Spider引擎.你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个Web站点,你还可以写一个JSpider插件来扩展你所需要的功能。
Jspider主要由规则、插件和事件过滤器三部分组成,规则决定获取和处理什么资源;插件可以根据配置叠加和替换功能模块;事件过滤器选择处理什么事件或则独立的插件。
特点:
1、扩展性较强,容易实现对爬虫功能的扩展。
2、目前只支持下载HTML,不支持下载动态网页。
3、保存原始网页内容。
6.Spindle
简介:
spindle是一个构建在Lucene工具包之上的Web索引和搜索工具.它包括一个用于创建索引的HTTPspider和一个用于搜索这些索引的搜索类。spindle项目提供了一组JSP标签库使得那些基于JSP的站点不需要开发任何Java类就能够增加搜索功能。该项目长期没有更新且功能不完善。
7.Jobo
简介:
JoBo是一个用于下载整个Web站点的简单工具。它本质是一个WebSpider。与其它下载工具相比较它的主要优势是能够自动填充form(如:自动登录)和使用cookies来处理