Web-Harvest 的主要目的是加強現(xiàn)有數(shù)據(jù)提取技術(shù)的應(yīng)用。它的目標不是創(chuàng)造一種新方法,而是提供一種更好地使用和組合現(xiàn)有方法的方式。它提供了一個處理器集用于處理數(shù)據(jù)和控制流程,每一個處理器被看作是一個函數(shù),它擁有參數(shù)和執(zhí)行后同樣有結(jié)果返回。而且處理是被組合成一個管道的形式,這樣使得它們可以以鏈式的形式來執(zhí)行,此外為了更易于數(shù)據(jù)操作和重用,Web-Harvest 還提供了變量上下方用于存儲已經(jīng)聲明的變量。
web-harvest 啟動,可以直接雙擊jar包運行,不過該方法不能指定web-harvest java虛擬機的大小。第二種方法,在cmd下切到web-harvest的目錄下,敲入命令“java -jar -Xms400m webharvest_all_2.jar” 即可啟動并設(shè)置起java虛擬機大小為400M。
該項目主頁 :http://web-harvest.sourceforge.net
十二、ItSucks
ItSucks是一個Java Web爬蟲開源項目??伸`活定制,支持通過下載模板和正則表達式來定義下載規(guī)則。提供一個控制臺和Swing GUI操作界面。
功能特性:
多線程
正則表達式
保存/載入的下載工作
在線幫助
HTTP/HTTPS 支持
HTTP 代理 支持
HTTP身份驗證
Cookie 支持
可配置的User Agent
連接限制
配置HTTP響應(yīng)代碼的行為
帶寬限制
Gzip壓縮
該項目主頁 :http://itsucks.sourceforge.net/
十三、Smart and Simple Web Crawler
Smart and Simple Web Crawler是一個Web爬蟲框架。集成Lucene支持。該爬蟲可以從單個鏈接或一個鏈接數(shù)組開始,提供兩種遍歷模式:最大迭代和最大深度??梢栽O(shè)置 過濾器限制爬回來的鏈接,默認提供三個過濾器ServerFilter、BeginningPathFilter和 RegularExpressionFilter,這三個過濾器可用AND、OR和NOT聯(lián)合。在解析過程或頁面加載前后都可以加監(jiān)聽器。
十四、Crawler4j
crawler4j是Java實現(xiàn)的開源網(wǎng)絡(luò)爬蟲。提供了簡單易用的接口,可以在幾分鐘內(nèi)創(chuàng)建一個多線程網(wǎng)絡(luò)爬蟲。
crawler4j的使用主要分為兩個步驟:
實現(xiàn)一個繼承自WebCrawler的爬蟲類;
通過CrawlController調(diào)用實現(xiàn)的爬蟲類。
WebCrawler是一個抽象類,繼承它必須實現(xiàn)兩個方法:shouldVisit和visit。其中:
shouldVisit是判斷當前的URL是否已經(jīng)應(yīng)該被爬取(訪問);
visit則是爬取該URL所指向的頁面的數(shù)據(jù),其傳入的參數(shù)即是對該web頁面全部數(shù)據(jù)的封裝對象Page。
另外,WebCrawler還有其它一些方法可供覆蓋,其方法的命名規(guī)則類似于Android的命名規(guī)則。如getMyLocalData方法可以返回WebCrawler中的數(shù)據(jù);onBeforeExit方法會在該WebCrawler運行結(jié)束前被調(diào)用,可以執(zhí)行一些資源釋放之類的工作。
許可
Copyright (c) 2010-2015 Yasser Ganjisaffar
根據(jù) Apache License 2.0 發(fā)布
開源地址: https://github.com/yasserg/crawler4j
十五、Ex-Crawler
Ex-Crawler 是一個網(wǎng)頁爬蟲,采用 Java 開發(fā),該項目分成兩部分,一個是守護進程,另外一個是靈活可配置的 Web 爬蟲。使用數(shù)據(jù)庫存儲網(wǎng)頁信息。
Ex-Crawler分成三部分(Crawler Daemon,Gui Client和Web搜索引擎),這三部分組合起來將成為一個靈活和強大的爬蟲和搜索引擎。其中Web搜索引擎部分采用PHP開發(fā),并包含一個內(nèi)容管理系統(tǒng)CMS用于維護搜索引擎。
該項目主頁 :http://ex-crawler.sourceforge.net/joomla/
十六、Crawler
Crawler是一個簡單的Web爬蟲。它讓你不用編寫枯燥,容易出錯的代碼,而只專注于所需要抓取網(wǎng)站的結(jié)構(gòu)。此外它還非常易于使用。
該項目主頁: http://projetos.vidageek.net/crawler/crawler/
十七、Encog
Encog是一個高級神經(jīng)網(wǎng)絡(luò)和機器人/爬蟲開發(fā)類庫。Encog提供的這兩種功能可以單獨分開使用來創(chuàng)建神經(jīng)網(wǎng)絡(luò)或HTTP機器人程序,同時Encog還支持將這兩種高級功能聯(lián)合起來使用。Encog支持創(chuàng)建前饋神經(jīng)網(wǎng)絡(luò)、Hopfield神經(jīng)網(wǎng)絡(luò)、自組織圖。
Encog提供高級HTTP機器人/爬蟲編程功能。支持將多線程爬蟲產(chǎn)生的內(nèi)容存在內(nèi)存或數(shù)據(jù)庫中。支持HTM解析和高級表單與Cookie處理。
Encog是一種先進的機器學習框架,它支持多種先進的算法,以及支持類正?;吞幚頂?shù)據(jù)。機器學習算法,如支持向量機,人工神經(jīng)網(wǎng)絡(luò),遺傳編程,貝葉斯網(wǎng)絡(luò),隱馬爾可夫模型,遺傳編程和遺傳算法的支持。大多數(shù)Encog培訓algoritms是多線程的,很好地擴展到多核硬件。Encog還可以使用一個GPU,以進一步加快處理時間。一個基于GUI的工作臺也提供幫助模型和火車機器學習算法。自2008年以來Encog一直在積極發(fā)展.