爬虫工具汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
He ritri x是一个开源,可扩展的web爬虫项目。
H eritr ix设计成严格按照r obots.txt文件的排除指示和MET A rob ots标签。
htt p://c rawle r.arc hive.org/
WebS PHINX
WebS PHINX是一个Ja va类包和Web爬虫的交互式开发环境。
W eb爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。
W ebSPH INX由两部分组
成:爬虫工作平台和Web SPHIN X类包。
http://www.cs.c mu.ed u/~rc m/web sphin x/
W ebLec h
Web Lech是一个功能强大的Web站点下载与镜像工具。
它支持按功能需求来下载web站点并能够尽可能模仿标准Web浏览器的行为。
WebL ech有一个功能控制台并采用多线程操作。
http://we blech.sour cefor ge.ne t/
A rale
Arale主要为个人使用而设计,而没有像其它爬虫一样是关注于页面索引。
Arale能够下载整个web站点或来自w eb站点的某些资源。
Arale还能够把动态页面映射成静态页面。
htt p://w eb.ti scali.it/_flat/arale.jsp.html
J-Sp ider
J-Spi der:是一个完全可配置和定制的WebSpide r引擎.你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个We b站点,你还可以写一个JSpi der插件来扩展你所需要的功能。
htt p://j-spid er.so urcef orge.net/
spin dle
s pindl e 是一个构建在Lu cene工具包之上的Web索引/搜索工具.它包括一个用于创建索引的HT TP sp ider和一个用于搜索这些索引的搜索类。
spind le项目提供了一
组J SP标签库使得那些基于JSP的站点不需要开发任何J ava类就能够增加搜索功能。
http://www.bitm echan ic.co m/pro jects/spin dle/
Arac hnid
Arach nid:是一个基于Java的web s pider框架.它包含一个简单的HTML剖析器能够分析包含H TML内容的输入流.通过实现A rachn id的子类就能够开发一个简单的Web s pider s并能够在Web站上的每个页面被解析之后增加几行代码调用。
Arach nid的下载包中包含两个spi der应用程序例子用于演示如何使用该框架。
htt p://a rachn id.so urcef orge.net/
LARM能够为Ja karta Luce ne搜索引擎框架的用户提供一个纯Java的搜索解决方案。
它包含能够为文件,数据库表格建立索引的方法和为Web站点建索引的爬虫。
h ttp://larm.sour cefor ge.ne t/
J oBo
J oBo 是一个用于下载整个We b站点的简单工具。
它本质是一个Web S pider。
与其它下载工具相比较它的主要优势是能够自动填充f orm(如:自动登录)和使用c ookie s 来处理s essio n。
JoB o还有灵活的下载规则(如:通过网页的UR L,大小,MIME类型等)来限制下载。
http://www.matu sche/softw are/j obo/i ndex.html
snoi cs-re ptile
snoi cs -r eptil e是用纯J ava开发的,用来进行网站镜像抓取的工具,可以使用配制文件中提供的UR L入口,把这个网站所有的能用浏览器通过G ET的方式获取到的资源全部抓取到本地,包括网页和各种类型的文件,如:图片、fla sh、mp3、zip、rar、exe等文件。
可以将整个网站完整地下传至硬盘内,并能保持原有的网站结构精确不变。
只需要把抓取下来的网站放到we b服务器(如:Apa che)中,就可以实现完整的网站镜像。
http://www.blog java.net/s noics
Web-Harv est
W eb-Ha rvest是一个Ja va开源W eb数据抽取工具。
它能够收集指定的Web页面并从这些页面中提取有用的数据。
Web-Harv est主要是运用了像XSLT,XQuer y,正则表达式等这些技术来实现对text/xml的操作。
h ttp://web-harve st.so urcef orge.net
spide rpy
s pider py是一个基于Pyt hon编码的一个开源web爬虫工具,允许用户收集文件和搜索网站,并有一个可配置的界面。
h ttp://pysp ider.sourc eforg e.net/
Th e Spi der W eb Ne twork Xoop s Mod Team
pide r Web Netw ork X oopsMod是一个Xoop s下的模块,完全由P HP语言实现。
ht tp://www.t swn.c om/
Fetch gals
Fetch gals是一个基于p erl多线程的Web爬虫,通过Tags来搜索色情图片。
ht tps://sour cefor ge.ne t/pro jects/fetc hgals
lar bin
l arbin是个基于C++的we b爬虫工具,拥有易于操作的界面,不过只能跑在LIN UX 下,在一台普通P C下lar bin每天可以爬5百万个页面(当然啦,需要拥有良好的网络)
http://lar bin.s ource forg/index-eng.html
J-Sp ider
J-Sp ider:是一个完全可配置和定制的Web Spid er引擎.你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个W eb站点,你还可以写一个JSp ider插件来扩展你所需要的功能。
s pindl e
pi ndle是一个构建在Lucen e工具包之上的Web索引/搜索工具.它包括一个用于创建索引的HTTPspide r和一个用于搜索这些索引的搜索类。
spi ndle项目提供了一组JSP标签库使得那些基于JS P的站点不需要开发任何Java类就能够增加搜索功能。
Ar achni d
Ar achni d:是一个基于Jav a的web spid er框架.它包含一个简单的HT ML剖析器能够分析包含HTML内容的输入流.通过实现Arac hnid的子类就能够开发一个简单的Web spid ers并能够在Web站上的每个页面被解析之后增加几行代码调用。
Ara chnid的下载包中包含两个s pider应用程序例子用于演示如何使用该框架。
LARM
LARM能够为Ja karta Luce ne搜索引擎框架的用户提供一个纯Java的搜索解决方案。
它包含能够为文件,数据库表格建立索引的方法和为Web站点建索引的爬虫。
JoBo
JoBo是一个用于下载整个W eb站点的简单工具。
它本质是一个WebSpide r。
与其它下载工具相比较它的主要优势是能够自动填充form(如:自动登录)和使用
cooki es来处理sessi on。
Jo Bo还有灵活的下载规则(如:通过网页的U RL,大小,MIME类型等)来限制下载。
sno ics-r eptil e
sn oics-repti le是用纯Java开发的,用来进行网站镜像抓取的工具,可以使用配制文件中提供的U RL入口,把这个网站所有的能用浏览器通过 GET的方式获取到的资源全部抓取到本地,包括网页和各种类型的文件,如:图片、f lash、mp3、z ip、
ra r、exe等文件。
可以将整个网站完整地下传至硬盘内,并能保持原有的网站结构
精确不变。
只需要把抓取下来的网站放到web服务器(如:A pache)中,就可以实现完整的网站镜像。
We b-Har vest
Web-Harve st是一个Java开源Web数据抽取工具。
它能够收集指定的W eb页面并从这些页面中提取有用的数据。
W eb-Ha rvest主。
php开源网络爬虫
1、P HPdig是国外非常流行的垂直搜索引擎产品(与其说是产品,不如说是一项区别于传统搜索引擎的搜索技术),采用PH P语言编写,利用了P HP程序运行的高效性,极大地提高了搜索反应速度,它可以像Go ogle或者Baid u以及其它搜
索引擎一样搜索互联网,搜索内容除了普通的网页外还包括txt, doc, xls, pdf等各式的文件,具有强大的内容搜索和文件解析功能。
2、Sphid er is a li ghtwe ightweb s pider andsearc h eng ine w ritte n inPHP,using MySQ L asits b ack e nd da tabas e. It is a grea t too l for addi ng se archfunct ional ity t o you r web site or b uildi ng yo ur cu stomsearc h eng ine.Sphid er is smal l, ea sy to setup an d
mod ify,and i s use d inthous andsof we bsite s acr oss t he wo rld.
Sp hider supp ortsall s tanda rd se archoptio ns, b ut al so in clude s a p letho ra of adva ncedfeatu res s uch a s wor d aut ocomp letio n, sp ellin g sug gesti ons e tc. T he so phist icate d
adm instr ation inte rface make s adm inist ering thesyste m eas y. Th e ful l lis t ofSphid er
fe ature s can be s een i n the abou t sec tion; also be s ure t o che ck ou t the demo andtakea
loo k atthe s howca se, d ispla yingsomesites runn ing S phide r. If you
run i nto p roble ms, y ou ca n pro bably getan an swerto yo ur qu estio n inthe f orum.
3、i Searc h
The i Searc h PHP sear ch en gineallow s you to b uilda sea rchab le da tabas e for your website. Visi torscan s earch forkey w ordsand a list of a ny pa ges t hat m atchis re turne d tothem.
Intr oduct ion
iS earch is a tool forallow ing v isito rs to a we bsite to p erfor m a s earch on t he
co ntent s ofthe s ite.Unlik e oth er su ch to ols t he sp ideri ng en gineis wr itten in P HP, s o itdoesnot r equir e bin aries to b e run on t he se rverto ge nerat e the sear ch in dex f or HT ML pa ges.
【Jav a开源W eb爬虫】列表
ht tp://www.i deagr ace.c om/sf/web-crawl er/
http://www.cs.c mu.ed u/~rc m/web sphin x/
C#开源示例
http://ww w.cod eproj ect.c om/us erite ms/Ze taWeb Spide r.asp
htt p://w ww.co depro ject.com/a spnet/Spid eroo.asp
http://www.code proje ct.co m/cs/inter net/C rawle r.asp
开放源代码搜索引擎为人们学习、研究并掌握搜索技术提供了极好的途径与素材,推动了搜索技术的普及与发展,使越来越多的人开始了解并推广使用搜索技术。
使用开源搜索引擎,可以大大缩短构建搜索应用的周期,并可根据应用需求打造个性化搜索应用,甚至构建符合特定需求的搜索引擎系统。
搜索引擎的开源,无论是对技术人员还是普通用户,都是一个福音。
搜索引擎的工作流程主要分为三步:从互联网抓取网页→创建抓取网页的索引库→从索引库中进行搜索。
首先需要一个能访问网络的爬虫器程序,依据URL之间的关联性自动爬行整个互联网,并对爬行过的网页进行抓取收集。
当网页被收集回来后,采用索引分析程序进行网页信息的分析,依据一定的相关度算法(如超链接算法)进行大量计算,创建倒排序的索引库。
索引库建好后用户就可以通过提供的搜索界面提交关键词进行搜索,依据特定的排序算法返回搜索结果。
因此,搜索引擎并不是对互联网进行直接搜索,而是对已抓取网页索引库的搜索,这也是能快速返回搜索结果的原因,索引在其中扮演了最为重要的角色,索引算法的效率直接影响搜索引擎的效率,是评测搜索引擎是否高效的关键因素。
网页爬行器、索引器、查询器共同构成了搜索引擎的重要组成单元,针对特定的语言,如中文、韩文等,还需要分词器进行分词,一般情况下,分词器与索引器一起使用创建特定语言的索引库。
它们之间的协同关系如图1所示。
而开放源代码的搜索引擎为用户提供了极大的透明性,开放的源代码、公开的排序算法、随意的可定制性,相比于商业搜索引擎而言,更为用户所需要。
目前,开放源代码的搜索引擎项目也有一些,主要集在中搜索引擎开发工具包与架构、Web
搜索引擎、文件搜索引擎几个方面,本文概要介绍一下当前比较流行且相对比较成熟的几个搜索引擎项目。
开源搜索引擎工具包
1.Luc ene
Lucen e是目前最为流行的开放源代码全文搜索引擎工具包,隶属于Apa che基金会,由资深全文索引/检索专家D oug C uttin g所发起,并以其妻子的中间名作为项目
的名称。
Luc ene不是一个具有完整特征的搜索应用程序,而是一个专注于文本索引和搜索的工具包,能够为应用程序添加索引与搜索能力。
基于L ucene在索引及搜索方面的优秀表现,虽然由Jav a编写的L ucene具有天生的跨平台性,但仍被改编为许多其他语言的版本:Perl、Pyth on、C++、.Ne t等。
同其他开源项目一样,Lucen e具有非常好的架构,能够方便地在其基础上进行研究与开发,添加新功能或者开发新系统。
Luce ne本身只支持文本文件及少量语种的索引,并且不具备爬虫功能,而这正是L ucene的魅力所在,通过L ucene提供的丰富接口,我们可以根据自身的需要在其上添加具体语言的分词器,针对具体文档的文本解析器等,而这些具体的功能实现都可以借助于一些已有的相关开源软件项目、甚至是商业软件来完成,这也保证了Lu cene在索引及搜索方面的专注性。
目前,通过在Lu cene的基础上加入爬行器、文本解析器等也形成了一些新的开源项目,如L IUS、N utch等。
并且Lu cene的索引数据结构已经成了一种事实上的标准,为许多搜索引擎所采用。
2.L IUS
LIUS即Lucen e Ind ex Up dateand S earch的缩写,它是以Luc ene为基础发展起来的一种文本索引框架,和Luce ne一样,同样可以看作搜索引擎开发工具包。
它在
Lu cene的基础上作了一些相应的研究及添加了一些新的功能。
LI US借助于许多开源软件,可以直接对各种不同格式/类型的文档进行文本解析与索引,这些文档格式包括 MS Word、MS E xcel、MS Po werPo ing、R TF、PD F、XML、HTML、
TXT、OpenOffic e及Jav aBean s等,对J ava B eans的支持对于进行数据库索引非常有用,在用户进行对象关系映射(如:Hiber nate、JDO、T opLin k、Tor que等)的数据库连接编程时会变得更加精确。
LIU S还在Lu cene的基础上增加了索引更新功能,使针对索引的维护功能进一步完善。
并且支持混和索引,可以把同一目录下与某一条件相关的所有内容整合到一起,这种功能对于需要对多种不同格式的文档同时进行索引时非常有用。
3.Eg othor
Ego thor是一款开源的高性能全文搜索引擎,适用于基于全文搜索功能的搜索应用,它具有与Lucc ene类似的核心算法,这个项目已经存在了很多年,并且拥有一些积极的开发人员及用户团体。
项目发起者Le o Gal ambos是捷克布拉格查理大学数学与物理学院的一名高级助理教授,他在博士研究生期间发起了此项目。
更多的时候,我们把E gotho r看作一个用于全文搜索引擎的J ava库,能够为具体的应用程序添加全文搜索功能。
它提供了扩展的Bool ean模块,使得它能被作为
Bo olean模块或者V ector模块使用,并且Ego thor具有一些其他搜索引擎所不具有的特有功能:它采用新的动态算法以有效提高索引更新的速度,并且支持平行的查询方式,可有效提高查询效率。
在E gotho r的发行版中,加入了爬行器、文本解析器等许多增强易用性的应用程序,融入了Golo mb、El ias-G amma等多种高效的压缩
方法,支持多种常用文档格式的文本解析,如HTM L、PDF、PS、微软Offi ce文
档、XLS等,提供了GU I的索引界面及基于A pplet或者Web的查询方式。
另
外,E gotho r还能被方便地配置成独立的搜索引擎、元数据搜索器、点对点的H UB 等多种且体的应用系统。
4.Xap ian
Xapia n是基于G PL发布的搜索引擎开发库,它采用C++语言编写,通过其提供绑定程序包可以使Per l、Pyt hon、P HP、Ja va、Tc k、C#、Ruby等语言方便地使用它。
Xapi an还是一个具有高适应性的工具集,使开发人员能够方便地为他们的应用程序添加高级索引及搜索功能。
它支持信息检索的概率模型及丰富的布尔查询操作。
Xapia n的发布包通常由两部分组成:x apian-core及xapi an- b indin gs,前者是核心主程序,后者是与其他语言进行绑定的程序包。
Xapi an为程序开发者提供了丰富的A PI及文档进行程序的编制,而且还提供了许多编程实例及一个基于Xapia n的应用程序Omeg a,Ome ga由索引器及基于C GI的前端搜索组成,能够为HT ML、PH P、PDF、 Pos tScri pt、Op enOff ice/S tarOf fice、RTF等多种格式的文档编制索引,通过使用PerlDBI模块甚至能为M ySQL、
Postg reSQL、SQLi te、Sy base、MS SQ L、LDA P、ODB C等关系数据库编制索引,并能以CSV或X ML格式从前端导出搜索结果,程序开发者可以在此基础上进行扩展。
5.Compa ss
C ompas s是在Lu cene上实现的开源搜索引擎架构,相对比于Luce ne而言,提供更加简洁的搜索引擎API。
增加了索引事务处理的支持,使其能够更方便地与数据库等事务处理应用进行整合。
它更新时无需删除原文档,更加简单更加高效。
资源与搜索引擎之间采用映射机制,此种机制使得那些已经使用了Luc ene或者不支持对象及XML的应用程序迁移到Com pass上进行开发变得非常容易。
Co mpass还能与Hi berna te、Sp ring等架构进行集成,因此如果想在Hi berna te、
Sp ring项目中加入搜索引擎功能,Comp ass是个极好的选择。
开源Web搜索引擎系统
1.Nu tch
Nutch是Luce ne的作者DougCutti ng发起的另一个开源项目,它是构建于Lu cene基础上的完整的Web搜索引擎系统,虽然诞生时间不长,但却以其优良血统及简
洁方便的使用方式而广收欢迎。
我们可以使用Nutch搭建类似G oogle的完整的搜
索引擎系统,进行局域网、互联网的搜索。
2.Ya Cy
Y aCy是一款基于P2P(pee r-to-peer)的分布式开源Web搜索引擎系统,采用Ja va语言进行编写,其核心是分布在数百台计算机上的被称为YaC y-pee r的计算机程序,基于P2P网络构成了Ya Cy网络,整个网络是一个分散的架构,在其中所有
的Y aCy-p eers都处于对等的地位,没有统一的中心服务器,每个YaCy-peer都能独立的进行互联网的爬行抓取、分析及创建索引库,通过P2P网络与其他YaCy-peers进行共享,并且每个Y aCy-p eer又都是一个独立的代理服务器,能够对本机用户使用过的网页进行索引,并且采取多机制来保护用户的隐私,同时用户也通过本机运行的We b服务器进行查询及返回查询结果。
Ya Cy搜索引擎主要包括五个部分,除普通搜索引擎所具有的爬行器、索引器、反排序的索引库外,它还包括了一个非常丰富的搜索与管理界面以及用于数据共享的P2P网络。
开源桌面搜索引擎系统
1.Re gain
rega in是一款与Web搜索引擎类似的桌面搜索引擎系统,其不同之处在于reg ain 不是对Int ernet内容的搜索,而是针对自己的文档或文件的搜索,使用r egain可以轻松地在几秒内完成大量数据(许多个G)的搜索。
Regai n 采用了Lucen e的搜索语法,因此支持多种查询方式,支持多索引的搜索及基于文件类型的高级搜索,并且能实现U RL重写及文件到HT TP的桥接,并且对中文也提供了较好的支持。
Re gain提供了两种版本:桌面搜索及服务器搜索。
桌面搜索提供了对普通桌面计算机的文档与局域网环境下的网页的快速搜索。
服务器版本主要安装在Web服务器上,为网站及局域网环境下的文件服务器进行搜索。
Re gain使用Java编写,因此可以实现跨平台安装,能安装于W indow s、
Li nux、M ac OS及Sola ris上。
服务器版本需要JSP s环境及标签库(ta g lib rary),因此需要安装一个T omcat容器。
而桌面版自带了一个小型的Web服务器,安装非常简单。
2.Zi lverl ine
Zilve rline是一款以L ucene为基础的桌面搜索引擎,采用了S pring框架,它主要用于个人本地磁盘及局域网内容的搜索,支持多种语言,并且具有自己的中文名字:银钱查打引擎。
Zilve rline提供了丰富的文档格式的索引支持,如微软O ffice文档、
RT F、Jav a、CHM等,甚至能够为归档文件编制索引进行搜索,如zip、rar及其他归档文件,在索引过程中,Zi lverl ine从z ip、ra r、chm等归档文件中抽取文件来编制索引。
Zilv erlin e可以支持增量索引的方式,只对新文件编制索引,同时也支持定期自动索引,其索引库能被存放于Z ilver line能够访问到的地方,甚至是DVD中。
同时,Z ilver line还支持文件路径到URL的映射,这样可以使用户远程搜索本地文件。
Zi lverl ine提供了个人及研究、商业应用两种许可方式,其发布形式为一个简单的war包,可以从其官方网站下载(http://ww w.zil verli ne.or g/)。
Z ilver line的运行环境需要Java环境及S ervle t容器,一般使用To mcat即可。
在确保正确安装J DK及
To mcat容器后只需将Zilve rline的war包(zilv erlin e-1.5.0.wa r)拷贝到Tomca t的web apps目录后重启T omcat容器即可开始使用Zi lverl ine搜索引擎了。
。