當前位置:
首頁 >
网页爬虫汇总
發布時間:2025/3/20
66
豆豆
網絡爬蟲 - 皮皮的IT日誌 - 博客園 ?
2010-11-14 13:56:16| ?分類: 默認分類|字號 訂閱
網頁爬蟲匯總
Heritrix?
Heritrix是一個開源,可擴展的web爬蟲項目。Heritrix設計成嚴格按照robots.txt文件的排除指示和META robots標簽。
http://crawler.archive.org/
WebSPHINX?
WebSPHINX是一個Java類包和Web爬蟲的交互式開發環境。Web爬蟲(也叫作機器人或蜘蛛)是可以自動瀏覽與處理Web頁面的程序。WebSPHINX由兩部分組成:爬蟲工作平臺和WebSPHINX類包。
http://www.cs.cmu.edu/~rcm/websphinx/
WebLech?
WebLech是一個功能強大的Web站點下載與鏡像工具。它支持按功能需求來下載web站點并能夠盡可能模仿標準Web瀏覽器的行為。WebLech有一個功能控制臺并采用多線程操作。
http://weblech.sourceforge.net/
Arale?
Arale主要為個人使用而設計,而沒有像其它爬蟲一樣是關注于頁面索引。Arale能夠下載整個web站點或來自web站點的某些資源。Arale還能夠把動態頁面映射成靜態頁面。
http://web.tiscali.it/_flat/arale.jsp.html
J-Spider?
J-Spider:是一個完全可配置和定制的Web Spider引擎.你可以利用它來檢查網站的錯誤(內在的服務器錯誤等),網站內外部鏈接檢查,分析網站的結構(可創建一個網站地圖),下載整個Web站點,你還可以寫一個JSpider插件來擴展你所需要的功能。
http://j-spider.sourceforge.net/
spindle?
spindle 是一個構建在Lucene工具包之上的Web索引/搜索工具.它包括一個用于創建索引的HTTP spider和一個用于搜索這些索引的搜索類。spindle項目提供了一組JSP標簽庫使得那些基于JSP的站點不需要開發任何Java類就能夠增加搜 索功能。
http://www.bitmechanic.com/projects/spindle/
Arachnid?
Arachnid: 是一個基于Java的web spider框架.它包含一個簡單的HTML剖析器能夠分析包含HTML內容的輸入流.通過實現Arachnid的子類就能夠開發一個簡單的Web spiders并能夠在Web站上的每個頁面被解析之后增加幾行代碼調用。 Arachnid的下載包中包含兩個spider應用程序例子用于演示如何使用該框架。
http://arachnid.sourceforge.net/
LARM?
LARM能夠為Jakarta Lucene搜索引擎框架的用戶提供一個純Java的搜索解決方案。它包含能夠為文件,數據庫表格建立索引的方法和為Web站點建索引的爬蟲。
http://larm.sourceforge.net/
JoBo?
JoBo 是一個用于下載整個Web站點的簡單工具。它本質是一個Web Spider。與其它下載工具相比較它的主要優勢是能夠自動填充form(如:自動登錄)和使用cookies來處理session。JoBo還有靈活的 下載規則(如:通過網頁的URL,大小,MIME類型等)來限制下載。
http://www.matuschek.net/software/jobo/index.html
snoics-reptile?
snoics -reptile是用純Java開發的,用來進行網站鏡像抓取的工具,可以使用配制文件中提供的URL入口,把這個網站所有的能用瀏覽器通過GET的方式 獲取到的資源全部抓取到本地,包括網頁和各種類型的文件,如:圖片、flash、mp3、zip、rar、exe等文件。可以將整個網站完整地下傳至硬盤 內,并能保持原有的網站結構精確不變。只需要把抓取下來的網站放到web服務器(如:Apache)中,就可以實現完整的網站鏡像。
http://www.blogjava.net/snoics
Web-Harvest?
Web-Harvest是一個Java開源Web數據抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數據。Web-Harvest主要是運用了像XSLT,XQuery,正則表達式等這些技術來實現對text/xml的操作。
http://web-harvest.sourceforge.net
spiderpy
spiderpy是一個基于Python編碼的一個開源web爬蟲工具,允許用戶收集文件和搜索網站,并有一個可配置的界面。
http://pyspider.sourceforge.net/
The Spider Web Network Xoops Mod Team?
pider Web Network Xoops Mod是一個Xoops下的模塊,完全由PHP語言實現。
http://www.tswn.com/
Fetchgals
Fetchgals是一個基于perl多線程的Web爬蟲,通過Tags來搜索色情圖片。
https://sourceforge.net/projects/fetchgals
larbin
larbin是個基于C++的web爬蟲工具,擁有易于操作的界面,不過只能跑在LINUX下,在一臺普通PC下larbin每天可以爬5百萬個頁面(當然啦,需要擁有良好的網絡)
http://larbin.sourceforge.net/index-eng.html
J-Spider
J-Spider:是一個完全可配置和定制的Web Spider引擎.你可以利用它來檢查網站的錯誤(內在的服務器錯誤等),網站內外部鏈接檢查,分析網站的結構(可創建一個網站地圖),下載整個Web站點,你還可以寫一個JSpider插件來擴展你所需要的功能。
spindle
pindle是一個構建在Lucene工具包之上的Web索引/搜索工具.它包括一個用于創建索引的HTTP spider和一個用于搜索這些索引的搜索類。spindle項目提供了一組JSP標簽庫使得那些基于JSP的站點不需要開發任何Java類就能夠增加搜索功能。
Arachnid
Arachnid:是一個基于Java的web spider框架.它包含一個簡單的HTML剖析器能夠分析包含HTML內容的輸入流.通過實現Arachnid的子類就能夠開發一個簡單的Web spiders并能夠在Web站上的每個頁面被解析之后增加幾行代碼調用。 Arachnid的下載包中包含兩個spider應用程序例子用于演示如何使用該框架。
LARM
LARM能夠為Jakarta Lucene搜索引擎框架的用戶提供一個純Java的搜索解決方案。它包含能夠為文件,數據庫表格建立索引的方法和為Web站點建索引的爬蟲。
JoBo
JoBo是一個用于下載整個Web站點的簡單工具。它本質是一個Web Spider。與其它下載工具相比較它的主要優勢是能夠自動填充form(如:自動登錄)和使用cookies來處理session。JoBo還有靈活的 下載規則(如:通過網頁的URL,大小,MIME類型等)來限制下載。
snoics-reptile
snoics-reptile是用純Java開發的,用來進行網站鏡像抓取的工具,可以使用 配制文件中提供的URL入口,把這個網站所有的能用瀏覽器通過 GET的方式獲取到的資源全部抓取到本地,包括網頁和各種類型的文件,如:圖片、flash、mp3、zip、rar、exe等文件。可以將整個網站完整 地下傳至硬盤內,并能保持原有的網站結構精確不變。只需要把抓取下來的網站放到web服務器(如:Apache)中,就可以實現完整的網站鏡像。
Web-Harvest
Web-Harvest是一個Java開源Web數據抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數據。Web-Harvest主。
php開源網絡爬蟲
? ? ?1、PHPdig是國外非常流行的垂直搜索引擎產品(與其說是產品,不如說是一項區別于傳統搜索引擎的搜索技術),采用PHP語言編寫,利用了PHP程序運行的高效性,極大地提高了搜索反應速度,它可以像Google或者Baidu以及其它搜索引擎一樣搜索互聯網,搜索內容除了普通的網頁外還包括txt, doc, xls, pdf等各式的文件,具有強大的內容搜索和文件解析功能。
? ? ? ?2、Sphider is a lightweight web spider and search engine written in PHP, using MySQL as its back end database. It is a great tool for adding search functionality to your web site or building your custom search engine. Sphider is small, easy to set up and modify, and is used in thousands of websites across the world.
? ? ? ?Sphider supports all standard search options, but also includes a plethora of advanced features such as word autocompletion, spelling suggestions etc. The sophisticated adminstration interface makes administering the system easy. The full list of Sphider features can be seen in the about section; also be sure to check out the demo and take a look at the showcase, displaying some sites running Sphider. If you run into problems, you can probably get an answer to your question in the forum.
? ? ?3、iSearch
? ? ? ?The iSearch PHP search engine allows you to build a searchable database for your web site. Visitors can search for key words and a list of any pages that match is returned to them.?
Introduction
? ? ? ? iSearch is a tool for allowing visitors to a website to perform a search on the contents of the site. Unlike other such tools the spidering engine is written in PHP, so it does not require binaries to be run on the server to generate the search index for HTML pages.
【Java開源 Web爬蟲】列表
http://www.ideagrace.com/sf/web-crawler/
http://www.cs.cmu.edu/~rcm/websphinx/
C#開源示例
http://www.codeproject.com/useritems/ZetaWebSpider.asp
http://www.codeproject.com/aspnet/Spideroo.asp
http://www.codeproject.com/cs/internet/Crawler.asp
開放源代碼搜索引擎為人們學習、研究并掌握搜索技術提供了極好的途徑與素材,推動了搜索技術的普及 與發展,使越來越多的人開始了解并推廣使用搜索技術。使用開源搜索引擎,可以大大縮短構建搜索應用的周期,并可根據應用需求打造個性化搜索應用,甚至構建 符合特定需求的搜索引擎系統。搜索引擎的開源,無論是對技術人員還是普通用戶,都是一個福音。 ?
搜索引擎的工作流程主要分為三步:從互聯網抓取網頁→創建抓取網頁的索引庫→從索引庫中進行搜索。
首先需要一個能訪問網絡的爬蟲器程序,依據URL之間的關聯性自動爬行整個互聯網,并對爬 行過的網頁進行抓取收集。當網頁被收集回來后,采用索引分析程序進行網頁信息的分析,依據一定的相關度算法(如超鏈接算法)進行大量計算,創建倒排序的索 引庫。索引庫建好后用戶就可以通過提供的搜索界面提交關鍵詞進行搜索,依據特定的排序算法返回搜索結果。因此,搜索引擎并不是對互聯網進行直接搜索,而是 對已抓取網頁索引庫的搜索,這也是能快速返回搜索結果的原因,索引在其中扮演了最為重要的角色,索引算法的效率直接影響搜索引擎的效率,是評測搜索引擎是 否高效的關鍵因素。
網頁爬行器、索引器、查詢器共同構成了搜索引擎的重要組成單元,針對特定的語言,如中文、韓文等,還需要分詞器進行分詞,一般情況下,分詞器與索引器一起使用創建特定語言的索引庫。它們之間的協同關系如圖1所示。
而開放源代碼的搜索引擎為用戶提供了極大的透明性,開放的源代碼、公開的排序算法、隨意的 可定制性,相比于商業搜索引擎而言,更為用戶所需要。目前,開放源代碼的搜索引擎項目也有一些,主要集在中搜索引擎開發工具包與架構、Web搜索引擎、文 件搜索引擎幾個方面,本文概要介紹一下當前比較流行且相對比較成熟的幾個搜索引擎項目。
開源搜索引擎工具包
1.Lucene
Lucene是目前最為流行的開放源代碼全文搜索引擎工具包,隸屬于Apache基金會, 由資深全文索引/檢索專家Doug Cutting所發起,并以其妻子的中間名作為項目的名稱。Lucene不是一個具有完整特征的搜索應用程序,而是一個專注于文本索引和搜索的工具包,能 夠為應用程序添加索引與搜索能力。基于Lucene在索引及搜索方面的優秀表現,雖然由Java編寫的Lucene具有天生的跨平臺性,但仍被改編為許多 其他語言的版本:Perl、Python、C++、.Net等。
同其他開源項目一樣,Lucene具有非常好的架構,能夠方便地在其基礎上進行研究與開 發,添加新功能或者開發新系統。Lucene本身只支持文本文件及少量語種的索引,并且不具備爬蟲功能,而這正是Lucene的魅力所在,通過 Lucene提供的豐富接口,我們可以根據自身的需要在其上添加具體語言的分詞器,針對具體文檔的文本解析器等,而這些具體的功能實現都可以借助于一些已 有的相關開源軟件項目、甚至是商業軟件來完成,這也保證了Lucene在索引及搜索方面的專注性。目前,通過在Lucene的基礎上加入爬行器、文本解析 器等也形成了一些新的開源項目,如LIUS、Nutch等。并且Lucene的索引數據結構已經成了一種事實上的標準,為許多搜索引擎所采用。
2.LIUS
LIUS即Lucene Index Update and Search的縮寫,它是以Lucene為基礎發展起來的一種文本索引框架,和Lucene一樣,同樣可以看作搜索引擎開發工具包。它在Lucene的基 礎上作了一些相應的研究及添加了一些新的功能。LIUS借助于許多開源軟件,可以直接對各種不同格式/類型的文檔進行文本解析與索引,這些文檔格式包括 MS Word、MS Excel、MS PowerPoing、RTF、PDF、XML、HTML、TXT、Open Office及JavaBeans等,對Java Beans的支持對于進行數據庫索引非常有用,在用戶進行對象關系映射(如:Hibernate、JDO、TopLink、Torque等)的數據庫連接 編程時會變得更加精確。LIUS還在Lucene的基礎上增加了索引更新功能,使針對索引的維護功能進一步完善。并且支持混和索引,可以把同一目錄下與某 一條件相關的所有內容整合到一起,這種功能對于需要對多種不同格式的文檔同時進行索引時非常有用。
3.Egothor
Egothor是一款開源的高性能全文搜索引擎,適用于基于全文搜索功能的搜索應用,它具 有與Luccene類似的核心算法,這個項目已經存在了很多年,并且擁有一些積極的開發人員及用戶團體。項目發起者Leo Galambos是捷克布拉格查理大學數學與物理學院的一名高級助理教授,他在博士研究生期間發起了此項目。
更多的時候,我們把Egothor看作一個用于全文搜索引擎的Java庫,能夠為具體的應 用程序添加全文搜索功能。它提供了擴展的Boolean模塊,使得它能被作為Boolean模塊或者Vector模塊使用,并且Egothor具有一些其 他搜索引擎所不具有的特有功能:它采用新的動態算法以有效提高索引更新的速度,并且支持平行的查詢方式,可有效提高查詢效率。在Egothor的發行版 中,加入了爬行器、文本解析器等許多增強易用性的應用程序,融入了Golomb、Elias-Gamma等多種高效的壓縮方法,支持多種常用文檔格式的文 本解析,如HTML、PDF、PS、微軟Office文檔、XLS等,提供了GUI的索引界面及基于Applet或者Web的查詢方式。另 外,Egothor還能被方便地配置成獨立的搜索引擎、元數據搜索器、點對點的HUB等多種且體的應用系統。
4.Xapian
Xapian是基于GPL發布的搜索引擎開發庫,它采用C++語言編寫,通過其提供綁定程序包可以使Perl、Python、PHP、Java、Tck、C#、Ruby等語言方便地使用它。
Xapian還是一個具有高適應性的工具集,使開發人員能夠方便地為他們的應用程序添加高 級索引及搜索功能。它支持信息檢索的概率模型及豐富的布爾查詢操作。Xapian的發布包通常由兩部分組成:xapian-core及xapian- bindings,前者是核心主程序,后者是與其他語言進行綁定的程序包。
Xapian為程序開發者提供了豐富的API及文檔進行程序的編制,而且還提供了許多編程 實例及一個基于Xapian的應用程序Omega,Omega由索引器及基于CGI的前端搜索組成,能夠為HTML、PHP、PDF、 PostScript、OpenOffice/StarOffice、RTF等多種格式的文檔編制索引,通過使用Perl DBI模塊甚至能為MySQL、PostgreSQL、SQLite、Sybase、MS SQL、LDAP、ODBC等關系數據庫編制索引,并能以CSV或XML格式從前端導出搜索結果,程序開發者可以在此基礎上進行擴展。
5.Compass
Compass是在Lucene上實現的開源搜索引擎架構,相對比于Lucene而言,提 供更加簡潔的搜索引擎API。增加了索引事務處理的支持,使其能夠更方便地與數據庫等事務處理應用進行整合。它更新時無需刪除原文檔,更加簡單更加高效。 資源與搜索引擎之間采用映射機制,此種機制使得那些已經使用了Lucene或者不支持對象及XML的應用程序遷移到Compass上進行開發變得非常容 易。
Compass還能與Hibernate、Spring等架構進行集成,因此如果想在Hibernate、Spring項目中加入搜索引擎功能,Compass是個極好的選擇。
開源Web搜索引擎系統
1.Nutch
Nutch是Lucene的作者Doug Cutting發起的另一個開源項目,它是構建于Lucene基礎上的完整的Web搜索引擎系統,雖然誕生時間不長,但卻以其優良血統及簡潔方便的使用方 式而廣收歡迎。我們可以使用Nutch搭建類似Google的完整的搜索引擎系統,進行局域網、互聯網的搜索。
2.YaCy
YaCy是一款基于P2P(peer-to-peer)的分布式開源Web搜索引擎系統, 采用Java語言進行編寫,其核心是分布在數百臺計算機上的被稱為YaCy-peer的計算機程序,基于P2P網絡構成了YaCy網絡,整個網絡是一個分 散的架構,在其中所有的YaCy-peers都處于對等的地位,沒有統一的中心服務器,每個YaCy-peer都能獨立的進行互聯網的爬行抓取、分析及創 建索引庫,通過P2P網絡與其他YaCy-peers進行共享,并且每個YaCy-peer又都是一個獨立的代理服務器,能夠對本機用戶使用過的網頁進行 索引,并且采取多機制來保護用戶的隱私,同時用戶也通過本機運行的Web服務器進行查詢及返回查詢結果。
YaCy搜索引擎主要包括五個部分,除普通搜索引擎所具有的爬行器、索引器、反排序的索引庫外,它還包括了一個非常豐富的搜索與管理界面以及用于數據共享的P2P網絡。
開源桌面搜索引擎系統
1.Regain
regain是一款與Web搜索引擎類似的桌面搜索引擎系統,其不同之處在于regain 不是對Internet內容的搜索,而是針對自己的文檔或文件的搜索,使用regain可以輕松地在幾秒內完成大量數據(許多個G)的搜索。Regain 采用了Lucene的搜索語法,因此支持多種查詢方式,支持多索引的搜索及基于文件類型的高級搜索,并且能實現URL重寫及文件到HTTP的橋接,并且對 中文也提供了較好的支持。
Regain提供了兩種版本:桌面搜索及服務器搜索。桌面搜索提供了對普通桌面計算機的文檔與局域網環境下的網頁的快速搜索。服務器版本主要安裝在Web服務器上,為網站及局域網環境下的文件服務器進行搜索。
Regain使用Java編寫,因此可以實現跨平臺安裝,能安裝于Windows、 Linux、Mac OS及Solaris上。服務器版本需要JSPs環境及標簽庫(tag library),因此需要安裝一個Tomcat容器。而桌面版自帶了一個小型的Web服務器,安裝非常簡單。
2.Zilverline
Zilverline是一款以Lucene為基礎的桌面搜索引擎,采用了Spring框 架,它主要用于個人本地磁盤及局域網內容的搜索,支持多種語言,并且具有自己的中文名字:銀錢查打引擎。Zilverline提供了豐富的文檔格式的索引 支持,如微軟Office文檔、RTF、Java、CHM等,甚至能夠為歸檔文件編制索引進行搜索,如zip、rar及其他歸檔文件,在索引過程 中,Zilverline從zip、rar、chm等歸檔文件中抽取文件來編制索引。Zilverline可以支持增量索引的方式,只對新文件編制索引, 同時也支持定期自動索引,其索引庫能被存放于Zilverline能夠訪問到的地方,甚至是DVD中。同時,Zilverline還支持文件路徑到URL 的映射,這樣可以使用戶遠程搜索本地文件。
Zilverline提供了個人及研究、商業應用兩種許可方式,其發布形式為一個簡單的 war包,可以從其官方網站下載(http://www.zilverline.org/)。Zilverline的運行環境需要Java環境及 Servlet容器,一般使用Tomcat即可。在確保正確安裝JDK及Tomcat容器后只需將Zilverline的war包 (zilverline-1.5.0.war)拷貝到Tomcat的webapps目錄后重啟Tomcat容器即可開始使用Zilverline搜索引擎 了。
2010-11-14 13:56:16| ?分類: 默認分類|字號 訂閱
網頁爬蟲匯總
Heritrix?
Heritrix是一個開源,可擴展的web爬蟲項目。Heritrix設計成嚴格按照robots.txt文件的排除指示和META robots標簽。
http://crawler.archive.org/
WebSPHINX?
WebSPHINX是一個Java類包和Web爬蟲的交互式開發環境。Web爬蟲(也叫作機器人或蜘蛛)是可以自動瀏覽與處理Web頁面的程序。WebSPHINX由兩部分組成:爬蟲工作平臺和WebSPHINX類包。
http://www.cs.cmu.edu/~rcm/websphinx/
WebLech?
WebLech是一個功能強大的Web站點下載與鏡像工具。它支持按功能需求來下載web站點并能夠盡可能模仿標準Web瀏覽器的行為。WebLech有一個功能控制臺并采用多線程操作。
http://weblech.sourceforge.net/
Arale?
Arale主要為個人使用而設計,而沒有像其它爬蟲一樣是關注于頁面索引。Arale能夠下載整個web站點或來自web站點的某些資源。Arale還能夠把動態頁面映射成靜態頁面。
http://web.tiscali.it/_flat/arale.jsp.html
J-Spider?
J-Spider:是一個完全可配置和定制的Web Spider引擎.你可以利用它來檢查網站的錯誤(內在的服務器錯誤等),網站內外部鏈接檢查,分析網站的結構(可創建一個網站地圖),下載整個Web站點,你還可以寫一個JSpider插件來擴展你所需要的功能。
http://j-spider.sourceforge.net/
spindle?
spindle 是一個構建在Lucene工具包之上的Web索引/搜索工具.它包括一個用于創建索引的HTTP spider和一個用于搜索這些索引的搜索類。spindle項目提供了一組JSP標簽庫使得那些基于JSP的站點不需要開發任何Java類就能夠增加搜 索功能。
http://www.bitmechanic.com/projects/spindle/
Arachnid?
Arachnid: 是一個基于Java的web spider框架.它包含一個簡單的HTML剖析器能夠分析包含HTML內容的輸入流.通過實現Arachnid的子類就能夠開發一個簡單的Web spiders并能夠在Web站上的每個頁面被解析之后增加幾行代碼調用。 Arachnid的下載包中包含兩個spider應用程序例子用于演示如何使用該框架。
http://arachnid.sourceforge.net/
LARM?
LARM能夠為Jakarta Lucene搜索引擎框架的用戶提供一個純Java的搜索解決方案。它包含能夠為文件,數據庫表格建立索引的方法和為Web站點建索引的爬蟲。
http://larm.sourceforge.net/
JoBo?
JoBo 是一個用于下載整個Web站點的簡單工具。它本質是一個Web Spider。與其它下載工具相比較它的主要優勢是能夠自動填充form(如:自動登錄)和使用cookies來處理session。JoBo還有靈活的 下載規則(如:通過網頁的URL,大小,MIME類型等)來限制下載。
http://www.matuschek.net/software/jobo/index.html
snoics-reptile?
snoics -reptile是用純Java開發的,用來進行網站鏡像抓取的工具,可以使用配制文件中提供的URL入口,把這個網站所有的能用瀏覽器通過GET的方式 獲取到的資源全部抓取到本地,包括網頁和各種類型的文件,如:圖片、flash、mp3、zip、rar、exe等文件。可以將整個網站完整地下傳至硬盤 內,并能保持原有的網站結構精確不變。只需要把抓取下來的網站放到web服務器(如:Apache)中,就可以實現完整的網站鏡像。
http://www.blogjava.net/snoics
Web-Harvest?
Web-Harvest是一個Java開源Web數據抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數據。Web-Harvest主要是運用了像XSLT,XQuery,正則表達式等這些技術來實現對text/xml的操作。
http://web-harvest.sourceforge.net
spiderpy
spiderpy是一個基于Python編碼的一個開源web爬蟲工具,允許用戶收集文件和搜索網站,并有一個可配置的界面。
http://pyspider.sourceforge.net/
The Spider Web Network Xoops Mod Team?
pider Web Network Xoops Mod是一個Xoops下的模塊,完全由PHP語言實現。
http://www.tswn.com/
Fetchgals
Fetchgals是一個基于perl多線程的Web爬蟲,通過Tags來搜索色情圖片。
https://sourceforge.net/projects/fetchgals
larbin
larbin是個基于C++的web爬蟲工具,擁有易于操作的界面,不過只能跑在LINUX下,在一臺普通PC下larbin每天可以爬5百萬個頁面(當然啦,需要擁有良好的網絡)
http://larbin.sourceforge.net/index-eng.html
J-Spider
J-Spider:是一個完全可配置和定制的Web Spider引擎.你可以利用它來檢查網站的錯誤(內在的服務器錯誤等),網站內外部鏈接檢查,分析網站的結構(可創建一個網站地圖),下載整個Web站點,你還可以寫一個JSpider插件來擴展你所需要的功能。
spindle
pindle是一個構建在Lucene工具包之上的Web索引/搜索工具.它包括一個用于創建索引的HTTP spider和一個用于搜索這些索引的搜索類。spindle項目提供了一組JSP標簽庫使得那些基于JSP的站點不需要開發任何Java類就能夠增加搜索功能。
Arachnid
Arachnid:是一個基于Java的web spider框架.它包含一個簡單的HTML剖析器能夠分析包含HTML內容的輸入流.通過實現Arachnid的子類就能夠開發一個簡單的Web spiders并能夠在Web站上的每個頁面被解析之后增加幾行代碼調用。 Arachnid的下載包中包含兩個spider應用程序例子用于演示如何使用該框架。
LARM
LARM能夠為Jakarta Lucene搜索引擎框架的用戶提供一個純Java的搜索解決方案。它包含能夠為文件,數據庫表格建立索引的方法和為Web站點建索引的爬蟲。
JoBo
JoBo是一個用于下載整個Web站點的簡單工具。它本質是一個Web Spider。與其它下載工具相比較它的主要優勢是能夠自動填充form(如:自動登錄)和使用cookies來處理session。JoBo還有靈活的 下載規則(如:通過網頁的URL,大小,MIME類型等)來限制下載。
snoics-reptile
snoics-reptile是用純Java開發的,用來進行網站鏡像抓取的工具,可以使用 配制文件中提供的URL入口,把這個網站所有的能用瀏覽器通過 GET的方式獲取到的資源全部抓取到本地,包括網頁和各種類型的文件,如:圖片、flash、mp3、zip、rar、exe等文件。可以將整個網站完整 地下傳至硬盤內,并能保持原有的網站結構精確不變。只需要把抓取下來的網站放到web服務器(如:Apache)中,就可以實現完整的網站鏡像。
Web-Harvest
Web-Harvest是一個Java開源Web數據抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數據。Web-Harvest主。
php開源網絡爬蟲
? ? ?1、PHPdig是國外非常流行的垂直搜索引擎產品(與其說是產品,不如說是一項區別于傳統搜索引擎的搜索技術),采用PHP語言編寫,利用了PHP程序運行的高效性,極大地提高了搜索反應速度,它可以像Google或者Baidu以及其它搜索引擎一樣搜索互聯網,搜索內容除了普通的網頁外還包括txt, doc, xls, pdf等各式的文件,具有強大的內容搜索和文件解析功能。
? ? ? ?2、Sphider is a lightweight web spider and search engine written in PHP, using MySQL as its back end database. It is a great tool for adding search functionality to your web site or building your custom search engine. Sphider is small, easy to set up and modify, and is used in thousands of websites across the world.
? ? ? ?Sphider supports all standard search options, but also includes a plethora of advanced features such as word autocompletion, spelling suggestions etc. The sophisticated adminstration interface makes administering the system easy. The full list of Sphider features can be seen in the about section; also be sure to check out the demo and take a look at the showcase, displaying some sites running Sphider. If you run into problems, you can probably get an answer to your question in the forum.
? ? ?3、iSearch
? ? ? ?The iSearch PHP search engine allows you to build a searchable database for your web site. Visitors can search for key words and a list of any pages that match is returned to them.?
Introduction
? ? ? ? iSearch is a tool for allowing visitors to a website to perform a search on the contents of the site. Unlike other such tools the spidering engine is written in PHP, so it does not require binaries to be run on the server to generate the search index for HTML pages.
【Java開源 Web爬蟲】列表
http://www.ideagrace.com/sf/web-crawler/
http://www.cs.cmu.edu/~rcm/websphinx/
C#開源示例
http://www.codeproject.com/useritems/ZetaWebSpider.asp
http://www.codeproject.com/aspnet/Spideroo.asp
http://www.codeproject.com/cs/internet/Crawler.asp
開放源代碼搜索引擎為人們學習、研究并掌握搜索技術提供了極好的途徑與素材,推動了搜索技術的普及 與發展,使越來越多的人開始了解并推廣使用搜索技術。使用開源搜索引擎,可以大大縮短構建搜索應用的周期,并可根據應用需求打造個性化搜索應用,甚至構建 符合特定需求的搜索引擎系統。搜索引擎的開源,無論是對技術人員還是普通用戶,都是一個福音。 ?
搜索引擎的工作流程主要分為三步:從互聯網抓取網頁→創建抓取網頁的索引庫→從索引庫中進行搜索。
首先需要一個能訪問網絡的爬蟲器程序,依據URL之間的關聯性自動爬行整個互聯網,并對爬 行過的網頁進行抓取收集。當網頁被收集回來后,采用索引分析程序進行網頁信息的分析,依據一定的相關度算法(如超鏈接算法)進行大量計算,創建倒排序的索 引庫。索引庫建好后用戶就可以通過提供的搜索界面提交關鍵詞進行搜索,依據特定的排序算法返回搜索結果。因此,搜索引擎并不是對互聯網進行直接搜索,而是 對已抓取網頁索引庫的搜索,這也是能快速返回搜索結果的原因,索引在其中扮演了最為重要的角色,索引算法的效率直接影響搜索引擎的效率,是評測搜索引擎是 否高效的關鍵因素。
網頁爬行器、索引器、查詢器共同構成了搜索引擎的重要組成單元,針對特定的語言,如中文、韓文等,還需要分詞器進行分詞,一般情況下,分詞器與索引器一起使用創建特定語言的索引庫。它們之間的協同關系如圖1所示。
而開放源代碼的搜索引擎為用戶提供了極大的透明性,開放的源代碼、公開的排序算法、隨意的 可定制性,相比于商業搜索引擎而言,更為用戶所需要。目前,開放源代碼的搜索引擎項目也有一些,主要集在中搜索引擎開發工具包與架構、Web搜索引擎、文 件搜索引擎幾個方面,本文概要介紹一下當前比較流行且相對比較成熟的幾個搜索引擎項目。
開源搜索引擎工具包
1.Lucene
Lucene是目前最為流行的開放源代碼全文搜索引擎工具包,隸屬于Apache基金會, 由資深全文索引/檢索專家Doug Cutting所發起,并以其妻子的中間名作為項目的名稱。Lucene不是一個具有完整特征的搜索應用程序,而是一個專注于文本索引和搜索的工具包,能 夠為應用程序添加索引與搜索能力。基于Lucene在索引及搜索方面的優秀表現,雖然由Java編寫的Lucene具有天生的跨平臺性,但仍被改編為許多 其他語言的版本:Perl、Python、C++、.Net等。
同其他開源項目一樣,Lucene具有非常好的架構,能夠方便地在其基礎上進行研究與開 發,添加新功能或者開發新系統。Lucene本身只支持文本文件及少量語種的索引,并且不具備爬蟲功能,而這正是Lucene的魅力所在,通過 Lucene提供的豐富接口,我們可以根據自身的需要在其上添加具體語言的分詞器,針對具體文檔的文本解析器等,而這些具體的功能實現都可以借助于一些已 有的相關開源軟件項目、甚至是商業軟件來完成,這也保證了Lucene在索引及搜索方面的專注性。目前,通過在Lucene的基礎上加入爬行器、文本解析 器等也形成了一些新的開源項目,如LIUS、Nutch等。并且Lucene的索引數據結構已經成了一種事實上的標準,為許多搜索引擎所采用。
2.LIUS
LIUS即Lucene Index Update and Search的縮寫,它是以Lucene為基礎發展起來的一種文本索引框架,和Lucene一樣,同樣可以看作搜索引擎開發工具包。它在Lucene的基 礎上作了一些相應的研究及添加了一些新的功能。LIUS借助于許多開源軟件,可以直接對各種不同格式/類型的文檔進行文本解析與索引,這些文檔格式包括 MS Word、MS Excel、MS PowerPoing、RTF、PDF、XML、HTML、TXT、Open Office及JavaBeans等,對Java Beans的支持對于進行數據庫索引非常有用,在用戶進行對象關系映射(如:Hibernate、JDO、TopLink、Torque等)的數據庫連接 編程時會變得更加精確。LIUS還在Lucene的基礎上增加了索引更新功能,使針對索引的維護功能進一步完善。并且支持混和索引,可以把同一目錄下與某 一條件相關的所有內容整合到一起,這種功能對于需要對多種不同格式的文檔同時進行索引時非常有用。
3.Egothor
Egothor是一款開源的高性能全文搜索引擎,適用于基于全文搜索功能的搜索應用,它具 有與Luccene類似的核心算法,這個項目已經存在了很多年,并且擁有一些積極的開發人員及用戶團體。項目發起者Leo Galambos是捷克布拉格查理大學數學與物理學院的一名高級助理教授,他在博士研究生期間發起了此項目。
更多的時候,我們把Egothor看作一個用于全文搜索引擎的Java庫,能夠為具體的應 用程序添加全文搜索功能。它提供了擴展的Boolean模塊,使得它能被作為Boolean模塊或者Vector模塊使用,并且Egothor具有一些其 他搜索引擎所不具有的特有功能:它采用新的動態算法以有效提高索引更新的速度,并且支持平行的查詢方式,可有效提高查詢效率。在Egothor的發行版 中,加入了爬行器、文本解析器等許多增強易用性的應用程序,融入了Golomb、Elias-Gamma等多種高效的壓縮方法,支持多種常用文檔格式的文 本解析,如HTML、PDF、PS、微軟Office文檔、XLS等,提供了GUI的索引界面及基于Applet或者Web的查詢方式。另 外,Egothor還能被方便地配置成獨立的搜索引擎、元數據搜索器、點對點的HUB等多種且體的應用系統。
4.Xapian
Xapian是基于GPL發布的搜索引擎開發庫,它采用C++語言編寫,通過其提供綁定程序包可以使Perl、Python、PHP、Java、Tck、C#、Ruby等語言方便地使用它。
Xapian還是一個具有高適應性的工具集,使開發人員能夠方便地為他們的應用程序添加高 級索引及搜索功能。它支持信息檢索的概率模型及豐富的布爾查詢操作。Xapian的發布包通常由兩部分組成:xapian-core及xapian- bindings,前者是核心主程序,后者是與其他語言進行綁定的程序包。
Xapian為程序開發者提供了豐富的API及文檔進行程序的編制,而且還提供了許多編程 實例及一個基于Xapian的應用程序Omega,Omega由索引器及基于CGI的前端搜索組成,能夠為HTML、PHP、PDF、 PostScript、OpenOffice/StarOffice、RTF等多種格式的文檔編制索引,通過使用Perl DBI模塊甚至能為MySQL、PostgreSQL、SQLite、Sybase、MS SQL、LDAP、ODBC等關系數據庫編制索引,并能以CSV或XML格式從前端導出搜索結果,程序開發者可以在此基礎上進行擴展。
5.Compass
Compass是在Lucene上實現的開源搜索引擎架構,相對比于Lucene而言,提 供更加簡潔的搜索引擎API。增加了索引事務處理的支持,使其能夠更方便地與數據庫等事務處理應用進行整合。它更新時無需刪除原文檔,更加簡單更加高效。 資源與搜索引擎之間采用映射機制,此種機制使得那些已經使用了Lucene或者不支持對象及XML的應用程序遷移到Compass上進行開發變得非常容 易。
Compass還能與Hibernate、Spring等架構進行集成,因此如果想在Hibernate、Spring項目中加入搜索引擎功能,Compass是個極好的選擇。
開源Web搜索引擎系統
1.Nutch
Nutch是Lucene的作者Doug Cutting發起的另一個開源項目,它是構建于Lucene基礎上的完整的Web搜索引擎系統,雖然誕生時間不長,但卻以其優良血統及簡潔方便的使用方 式而廣收歡迎。我們可以使用Nutch搭建類似Google的完整的搜索引擎系統,進行局域網、互聯網的搜索。
2.YaCy
YaCy是一款基于P2P(peer-to-peer)的分布式開源Web搜索引擎系統, 采用Java語言進行編寫,其核心是分布在數百臺計算機上的被稱為YaCy-peer的計算機程序,基于P2P網絡構成了YaCy網絡,整個網絡是一個分 散的架構,在其中所有的YaCy-peers都處于對等的地位,沒有統一的中心服務器,每個YaCy-peer都能獨立的進行互聯網的爬行抓取、分析及創 建索引庫,通過P2P網絡與其他YaCy-peers進行共享,并且每個YaCy-peer又都是一個獨立的代理服務器,能夠對本機用戶使用過的網頁進行 索引,并且采取多機制來保護用戶的隱私,同時用戶也通過本機運行的Web服務器進行查詢及返回查詢結果。
YaCy搜索引擎主要包括五個部分,除普通搜索引擎所具有的爬行器、索引器、反排序的索引庫外,它還包括了一個非常豐富的搜索與管理界面以及用于數據共享的P2P網絡。
開源桌面搜索引擎系統
1.Regain
regain是一款與Web搜索引擎類似的桌面搜索引擎系統,其不同之處在于regain 不是對Internet內容的搜索,而是針對自己的文檔或文件的搜索,使用regain可以輕松地在幾秒內完成大量數據(許多個G)的搜索。Regain 采用了Lucene的搜索語法,因此支持多種查詢方式,支持多索引的搜索及基于文件類型的高級搜索,并且能實現URL重寫及文件到HTTP的橋接,并且對 中文也提供了較好的支持。
Regain提供了兩種版本:桌面搜索及服務器搜索。桌面搜索提供了對普通桌面計算機的文檔與局域網環境下的網頁的快速搜索。服務器版本主要安裝在Web服務器上,為網站及局域網環境下的文件服務器進行搜索。
Regain使用Java編寫,因此可以實現跨平臺安裝,能安裝于Windows、 Linux、Mac OS及Solaris上。服務器版本需要JSPs環境及標簽庫(tag library),因此需要安裝一個Tomcat容器。而桌面版自帶了一個小型的Web服務器,安裝非常簡單。
2.Zilverline
Zilverline是一款以Lucene為基礎的桌面搜索引擎,采用了Spring框 架,它主要用于個人本地磁盤及局域網內容的搜索,支持多種語言,并且具有自己的中文名字:銀錢查打引擎。Zilverline提供了豐富的文檔格式的索引 支持,如微軟Office文檔、RTF、Java、CHM等,甚至能夠為歸檔文件編制索引進行搜索,如zip、rar及其他歸檔文件,在索引過程 中,Zilverline從zip、rar、chm等歸檔文件中抽取文件來編制索引。Zilverline可以支持增量索引的方式,只對新文件編制索引, 同時也支持定期自動索引,其索引庫能被存放于Zilverline能夠訪問到的地方,甚至是DVD中。同時,Zilverline還支持文件路徑到URL 的映射,這樣可以使用戶遠程搜索本地文件。
Zilverline提供了個人及研究、商業應用兩種許可方式,其發布形式為一個簡單的 war包,可以從其官方網站下載(http://www.zilverline.org/)。Zilverline的運行環境需要Java環境及 Servlet容器,一般使用Tomcat即可。在確保正確安裝JDK及Tomcat容器后只需將Zilverline的war包 (zilverline-1.5.0.war)拷貝到Tomcat的webapps目錄后重啟Tomcat容器即可開始使用Zilverline搜索引擎 了。
總結
- 上一篇: 图片镂空算法集合[图](转)
- 下一篇: 拖拽上传图片