33款可用來(lái)抓數(shù)據(jù)的開(kāi)源爬蟲(chóng)軟件工具

33款可用來(lái)抓數(shù)據(jù)的開(kāi)源爬蟲(chóng)軟件工具

要玩大數(shù)據(jù)蜻拨,沒(méi)有數(shù)據(jù)怎么玩?這里推薦一些33款開(kāi)源爬蟲(chóng)軟件給大家眠冈。

爬蟲(chóng)飞苇,即網(wǎng)絡(luò)爬蟲(chóng),是一種自動(dòng)獲取網(wǎng)頁(yè)內(nèi)容的程序蜗顽。是搜索引擎的重要組成部分布卡,因此搜索引擎優(yōu)化很大程度上就是針對(duì)爬蟲(chóng)而做出的優(yōu)化。

網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)自動(dòng)提取網(wǎng)頁(yè)的程序雇盖,它為搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè)忿等,是搜索引擎的重要組成。傳統(tǒng)爬蟲(chóng)從一個(gè)或若干初始網(wǎng)頁(yè)的URL開(kāi)始刊懈,獲得初始網(wǎng)頁(yè)上的URL这弧,在抓取網(wǎng)頁(yè)的過(guò)程中娃闲,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件虚汛。聚焦爬蟲(chóng)的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁(yè)分析算法過(guò)濾與主題無(wú)關(guān)的鏈接皇帮,保留有用的鏈接并將其放入等待抓取的URL隊(duì)列卷哩。然后,它將根據(jù)一定的搜索策略從隊(duì)列中選擇下一步要抓取的網(wǎng)頁(yè)URL属拾,并重復(fù)上述過(guò)程将谊,直到達(dá)到系統(tǒng)的某一條件時(shí)停止冷溶。另外,所有被爬蟲(chóng)抓取的網(wǎng)頁(yè)將會(huì)被系統(tǒng)存貯尊浓,進(jìn)行一定的分析逞频、過(guò)濾,并建立索引栋齿,以便之后的查詢(xún)和檢索苗胀;對(duì)于聚焦爬蟲(chóng)來(lái)說(shuō),這一過(guò)程所得到的分析結(jié)果還可能對(duì)以后的抓取過(guò)程給出反饋和指導(dǎo)瓦堵。

世界上已經(jīng)成型的爬蟲(chóng)軟件多達(dá)上百種基协,本文對(duì)較為知名及常見(jiàn)的開(kāi)源爬蟲(chóng)軟件進(jìn)行梳理,按開(kāi)發(fā)語(yǔ)言進(jìn)行匯總菇用。雖然搜索引擎也有爬蟲(chóng)澜驮,但本次我匯總的只是爬蟲(chóng)軟件,而非大型惋鸥、復(fù)雜的搜索引擎杂穷,因?yàn)楹芏嘈值苤皇窍肱廊?shù)據(jù),而非運(yùn)營(yíng)一個(gè)搜索引擎揩慕。

Java爬蟲(chóng)

1亭畜、Arachnid

Arachnid是一個(gè)基于Java的web spider框架.它包含一個(gè)簡(jiǎn)單的HTML剖析器能夠分析包含HTML內(nèi)容的輸入流.通過(guò)實(shí)現(xiàn)Arachnid的子類(lèi)就能夠開(kāi)發(fā)一個(gè)簡(jiǎn)單的Web spiders并能夠在Web站上的每個(gè)頁(yè)面被解析之后增加幾行代碼調(diào)用璃俗。 Arachnid的下載包中包含兩個(gè)spider應(yīng)用程序例子用于演示如何使用該框架笨篷。

特點(diǎn):微型爬蟲(chóng)框架顶霞,含有一個(gè)小型HTML解析器

許可證:GPL

2趾盐、crawlzilla

crawlzilla 是一個(gè)幫你輕松建立搜索引擎的自由軟件甥啄,有了它咒精,你就不用依靠商業(yè)公司的搜索引擎锌钮,也不用再煩惱公司內(nèi)部網(wǎng)站資料索引的問(wèn)題陨闹。

由 nutch 專(zhuān)案為核心樟凄,并整合更多相關(guān)套件聘芜,并卡發(fā)設(shè)計(jì)安裝與管理UI,讓使用者更方便上手缝龄。

crawlzilla?除了爬取基本的 html 外汰现,還能分析網(wǎng)頁(yè)上的文件,如( doc叔壤、pdf瞎饲、ppt、ooo炼绘、rss )等多種文件格式嗅战,讓你的搜索引擎不只是網(wǎng)頁(yè)搜索引擎,而是網(wǎng)站的完整資料索引庫(kù)俺亮。

擁有中文分詞能力驮捍,讓你的搜索更精準(zhǔn)疟呐。

crawlzilla的特色與目標(biāo),最主要就是提供使用者一個(gè)方便好用易安裝的搜索平臺(tái)东且。

授權(quán)協(xié)議: Apache License 2

開(kāi)發(fā)語(yǔ)言: Java JavaScript SHELL

操作系統(tǒng): Linux

項(xiàng)目主頁(yè):https://github.com/shunfa/crawlzilla

下載地址http://sourceforge.net/projects/crawlzilla/

特點(diǎn):安裝簡(jiǎn)易启具,擁有中文分詞功能

3、Ex-Crawler

Ex-Crawler 是一個(gè)網(wǎng)頁(yè)爬蟲(chóng)珊泳,采用 Java 開(kāi)發(fā)富纸,該項(xiàng)目分成兩部分,一個(gè)是守護(hù)進(jìn)程旨椒,另外一個(gè)是靈活可配置的 Web 爬蟲(chóng)晓褪。使用數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)頁(yè)信息。

授權(quán)協(xié)議: GPLv3

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):由守護(hù)進(jìn)程執(zhí)行综慎,使用數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)頁(yè)信息

4涣仿、Heritrix

Heritrix 是一個(gè)由 java 開(kāi)發(fā)的、開(kāi)源的網(wǎng)絡(luò)爬蟲(chóng)示惊,用戶可以使用它來(lái)從網(wǎng)上抓取想要的資源好港。其最出色之處在于它良好的可擴(kuò)展性,方便用戶實(shí)現(xiàn)自己的抓取邏輯米罚。

Heritrix采用的是模塊化的設(shè)計(jì)钧汹,各個(gè)模塊由一個(gè)控制器類(lèi)(CrawlController類(lèi))來(lái)協(xié)調(diào),控制器是整體的核心录择。

代碼托管:https://github.com/internetarchive/heritrix3

授權(quán)協(xié)議: Apache

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):跨平臺(tái)

特點(diǎn):嚴(yán)格遵照robots文件的排除指示和META robots標(biāo)簽

5拔莱、heyDr

heyDr是一款基于java的輕量級(jí)開(kāi)源多線程垂直檢索爬蟲(chóng)框架,遵循GNU GPL V3協(xié)議隘竭。

用戶可以通過(guò)heyDr構(gòu)建自己的垂直資源爬蟲(chóng)塘秦,用于搭建垂直搜索引擎前期的數(shù)據(jù)準(zhǔn)備。

授權(quán)協(xié)議: GPLv3

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):輕量級(jí)開(kāi)源多線程垂直檢索爬蟲(chóng)框架

6动看、ItSucks

ItSucks是一個(gè)java web spider(web機(jī)器人尊剔,爬蟲(chóng))開(kāi)源項(xiàng)目。支持通過(guò)下載模板和正則表達(dá)式來(lái)定義下載規(guī)則菱皆。提供一個(gè)swing GUI操作界面须误。

特點(diǎn):提供swing GUI操作界面

7、jcrawl

jcrawl是一款小巧性能優(yōu)良的的web爬蟲(chóng),它可以從網(wǎng)頁(yè)抓取各種類(lèi)型的文件,基于用戶定義的符號(hào),比如email,qq.

授權(quán)協(xié)議: Apache

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):輕量仇轻、性能優(yōu)良京痢,可以從網(wǎng)頁(yè)抓取各種類(lèi)型的文件

8、JSpider

JSpider是一個(gè)用Java實(shí)現(xiàn)的WebSpider拯田,JSpider的執(zhí)行格式如下:

jspider [URL]?[ConfigName]

URL一定要加上協(xié)議名稱(chēng)历造,如:http://甩十,否則會(huì)報(bào)錯(cuò)船庇。如果省掉ConfigName吭产,則采用默認(rèn)配置。

JSpider?的行為是由配置文件具體配置的鸭轮,比如采用什么插件臣淤,結(jié)果存儲(chǔ)方式等等都在conf\[ConfigName]\目錄下設(shè)置。JSpider默認(rèn)的配置種類(lèi)?很少窃爷,用途也不大邑蒋。但是JSpider非常容易擴(kuò)展,可以利用它開(kāi)發(fā)強(qiáng)大的網(wǎng)頁(yè)抓取與數(shù)據(jù)分析工具按厘。要做到這些医吊,需要對(duì)JSpider的原理有深入的了?解,然后根據(jù)自己的需求開(kāi)發(fā)插件逮京,撰寫(xiě)配置文件卿堂。

授權(quán)協(xié)議: LGPL

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):功能強(qiáng)大,容易擴(kuò)展

9懒棉、Leopdo

用JAVA編寫(xiě)的web 搜索和爬蟲(chóng)草描,包括全文和分類(lèi)垂直搜索,以及分詞系統(tǒng)

授權(quán)協(xié)議: Apache

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):包括全文和分類(lèi)垂直搜索策严,以及分詞系統(tǒng)

10穗慕、MetaSeeker

是一套完整的網(wǎng)頁(yè)內(nèi)容抓取、格式化妻导、數(shù)據(jù)集成逛绵、存儲(chǔ)管理和搜索解決方案。

網(wǎng)絡(luò)爬蟲(chóng)有多種實(shí)現(xiàn)方法倔韭,如果按照部署在哪里分暑脆,可以分成:

1,服務(wù)器側(cè):一般是一個(gè)多線程程序狐肢,同時(shí)下載多個(gè)目標(biāo)HTML添吗,可以用PHP, Java, Python(當(dāng)前很流行)等做份名,可以速度做得很快碟联,一般綜合搜索引擎的爬蟲(chóng)這樣做。但是僵腺,如果對(duì)方討厭爬蟲(chóng)鲤孵,很可能封掉你的IP,服務(wù)器IP又不容易?改辰如,另外耗用的帶寬也是挺貴的普监。建議看一下Beautiful soap。

2,客戶端:一般實(shí)現(xiàn)定題爬蟲(chóng)凯正,或者是聚焦爬蟲(chóng)毙玻,做綜合搜索引擎不容易成功,而垂直搜訴或者比價(jià)服務(wù)或者推薦引擎廊散,相對(duì)容易很多桑滩,這類(lèi)爬蟲(chóng)不是什么頁(yè)面都?取的,而是只取你關(guān)系的頁(yè)面允睹,而且只取頁(yè)面上關(guān)心的內(nèi)容运准,例如提取黃頁(yè)信息,商品價(jià)格信息缭受,還有提取競(jìng)爭(zhēng)對(duì)手廣告信息的胁澳,搜一下Spyfu,很有趣米者。這類(lèi)?爬蟲(chóng)可以部署很多听哭,而且可以很有侵略性,對(duì)方很難封鎖塘雳。

MetaSeeker中的網(wǎng)絡(luò)爬蟲(chóng)就屬于后者陆盘。

MetaSeeker工具包利用Mozilla平臺(tái)的能力,只要是Firefox看到的東西败明,它都能提取隘马。

MetaSeeker工具包是免費(fèi)使用的,下載地址:www.gooseeker.com/cn/node/download/front

特點(diǎn):網(wǎng)頁(yè)抓取妻顶、信息提取酸员、數(shù)據(jù)抽取工具包,操作簡(jiǎn)單

11讳嘱、Playfish

playfish是一個(gè)采用java技術(shù)幔嗦,綜合應(yīng)用多個(gè)開(kāi)源java組件實(shí)現(xiàn)的網(wǎng)頁(yè)抓取工具,通過(guò)XML配置文件實(shí)現(xiàn)高度可定制性與可擴(kuò)展性的網(wǎng)頁(yè)抓取工具

應(yīng)用開(kāi)源jar包包括httpclient(內(nèi)容讀取),dom4j(配置文件解析),jericho(html解析)沥潭,已經(jīng)在 war包的lib下邀泉。

這個(gè)項(xiàng)目目前還很不成熟,但是功能基本都完成了钝鸽。要求使用者熟悉XML汇恤,熟悉正則表達(dá)式。目前通過(guò)這個(gè)工具可以抓取各類(lèi)論壇拔恰,貼吧因谎,以及各類(lèi)CMS系統(tǒng)。像Discuz!,phpbb,論壇跟博客的文章颜懊,通過(guò)本工具都可以輕松抓取财岔。抓取定義完全采用XML风皿,適合Java開(kāi)發(fā)人員使用。

使用方法匠璧, 1.下載右邊的.war包導(dǎo)入到eclipse中桐款, 2.使用WebContent/sql下的wcc.sql文件建立一個(gè)范例數(shù)據(jù)庫(kù), 3.修改src包下wcc.core的dbConfig.txt患朱,將用戶名與密碼設(shè)置成你自己的mysql用戶名密碼。 4.然后運(yùn)行SystemCore,運(yùn)行時(shí)候會(huì)在控制臺(tái)炊苫,無(wú)參數(shù)會(huì)執(zhí)行默認(rèn)的example.xml的配置文件裁厅,帶參數(shù)時(shí)候名稱(chēng)為配置文件名。

系統(tǒng)自帶了3個(gè)例子侨艾,分別為baidu.xml抓取百度知道执虹,example.xml抓取我的javaeye的博客,bbs.xml抓取一個(gè)采用 discuz論壇的內(nèi)容唠梨。

授權(quán)協(xié)議: MIT

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):通過(guò)XML配置文件實(shí)現(xiàn)高度可定制性與可擴(kuò)展性

12袋励、Spiderman

Spiderman 是一個(gè)基于微內(nèi)核+插件式架構(gòu)的網(wǎng)絡(luò)蜘蛛,它的目標(biāo)是通過(guò)簡(jiǎn)單的方法就能將復(fù)雜的目標(biāo)網(wǎng)頁(yè)信息抓取并解析為自己所需要的業(yè)務(wù)數(shù)據(jù)当叭。

怎么使用茬故?

首先,確定好你的目標(biāo)網(wǎng)站以及目標(biāo)網(wǎng)頁(yè)(即某一類(lèi)你想要獲取數(shù)據(jù)的網(wǎng)頁(yè)蚁鳖,例如網(wǎng)易新聞的新聞頁(yè)面)

然后磺芭,打開(kāi)目標(biāo)頁(yè)面,分析頁(yè)面的HTML結(jié)構(gòu)醉箕,得到你想要數(shù)據(jù)的XPath钾腺,具體XPath怎么獲取請(qǐng)看下文。

最后讥裤,在一個(gè)xml配置文件里填寫(xiě)好參數(shù)放棒,運(yùn)行Spiderman吧!

授權(quán)協(xié)議: Apache

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):靈活己英、擴(kuò)展性強(qiáng)间螟,微內(nèi)核+插件式架構(gòu),通過(guò)簡(jiǎn)單的配置就可以完成數(shù)據(jù)抓取损肛,無(wú)需編寫(xiě)一句代碼

13寒亥、webmagic

webmagic的是一個(gè)無(wú)須配置、便于二次開(kāi)發(fā)的爬蟲(chóng)框架荧关,它提供簡(jiǎn)單靈活的API溉奕,只需少量代碼即可實(shí)現(xiàn)一個(gè)爬蟲(chóng)。

webmagic采用完全模塊化的設(shè)計(jì)忍啤,功能覆蓋整個(gè)爬蟲(chóng)的生命周期(鏈接提取加勤、頁(yè)面下載仙辟、內(nèi)容抽取、持久化)鳄梅,支持多線程抓取叠国,分布式抓取,并支持自動(dòng)重試戴尸、自定義UA/cookie等功能粟焊。

webmagic包含強(qiáng)大的頁(yè)面抽取功能,開(kāi)發(fā)者可以便捷的使用css selector孙蒙、xpath和正則表達(dá)式進(jìn)行鏈接和內(nèi)容的提取项棠,支持多個(gè)選擇器鏈?zhǔn)秸{(diào)用。

webmagic的使用文檔:http://webmagic.io/docs/

查看源代碼:http://git.oschina.net/flashsword20/webmagic

授權(quán)協(xié)議: Apache

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):功能覆蓋整個(gè)爬蟲(chóng)生命周期挎峦,使用Xpath和正則表達(dá)式進(jìn)行鏈接和內(nèi)容的提取香追。

備注:這是一款國(guó)產(chǎn)開(kāi)源軟件,由?黃億華貢獻(xiàn)

14坦胶、Web-Harvest

Web-Harvest是一個(gè)Java開(kāi)源Web數(shù)據(jù)抽取工具透典。它能夠收集指定的Web頁(yè)面并從這些頁(yè)面中提取有用的數(shù)據(jù)。Web-Harvest主要是運(yùn)用了像XSLT,XQuery,正則表達(dá)式等這些技術(shù)來(lái)實(shí)現(xiàn)對(duì)text/xml的操作顿苇。

其實(shí)現(xiàn)原理是峭咒,根據(jù)預(yù)先定義的配置文件用httpclient獲取頁(yè)面的全部?jī)?nèi)容(關(guān)于httpclient的內(nèi)容,本博有些文章已介紹)纪岁,然后運(yùn)用XPath讹语、XQuery、正則表達(dá)式等這些技術(shù)來(lái)實(shí)現(xiàn)對(duì)text/xml的內(nèi)容篩選操作蜂科,選取精確的數(shù)據(jù)顽决。前兩年比較火的垂直搜索(比如:酷訊等)也是采用類(lèi)似的原理實(shí)現(xiàn)的。Web-Harvest應(yīng)用导匣,關(guān)鍵就是理解和定義配置文件才菠,其他的就是考慮怎么處理數(shù)據(jù)的Java代碼。當(dāng)然在爬蟲(chóng)開(kāi)始前贡定,也可以把Java變量填充到配置文件中赋访,實(shí)現(xiàn)動(dòng)態(tài)的配置。

授權(quán)協(xié)議: BSD

開(kāi)發(fā)語(yǔ)言: Java

特點(diǎn):運(yùn)用XSLT缓待、XQuery蚓耽、正則表達(dá)式等技術(shù)來(lái)實(shí)現(xiàn)對(duì)Text或XML的操作,具有可視化的界面

15旋炒、WebSPHINX

WebSPHINX是一個(gè)Java類(lèi)包和Web爬蟲(chóng)的交互式開(kāi)發(fā)環(huán)境步悠。Web爬蟲(chóng)(也叫作機(jī)器人或蜘蛛)是可以自動(dòng)瀏覽與處理Web頁(yè)面的程序。WebSPHINX由兩部分組成:爬蟲(chóng)工作平臺(tái)和WebSPHINX類(lèi)包瘫镇。

授權(quán)協(xié)議:Apache

開(kāi)發(fā)語(yǔ)言:Java

特點(diǎn):由兩部分組成:爬蟲(chóng)工作平臺(tái)和WebSPHINX類(lèi)包

16鼎兽、YaCy

YaCy基于p2p的分布式Web搜索引擎.同時(shí)也是一個(gè)Http緩存代理服務(wù)器.這個(gè)項(xiàng)目是構(gòu)建基于p2p Web索引網(wǎng)絡(luò)的一個(gè)新方法.它可以搜索你自己的或全局的索引,也可以Crawl自己的網(wǎng)頁(yè)或啟動(dòng)分布式Crawling等.

授權(quán)協(xié)議: GPL

開(kāi)發(fā)語(yǔ)言: Java Perl

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):基于P2P的分布式Web搜索引擎

Python爬蟲(chóng)

17答姥、QuickRecon

QuickRecon是一個(gè)簡(jiǎn)單的信息收集工具,它可以幫助你查找子域名名稱(chēng)、perform zone transfe谚咬、收集電子郵件地址和使用microformats尋找人際關(guān)系等鹦付。QuickRecon使用python編寫(xiě),支持linux和 windows操作系統(tǒng)择卦。

授權(quán)協(xié)議: GPLv3

開(kāi)發(fā)語(yǔ)言: Python

操作系統(tǒng): Windows Linux

特點(diǎn):具有查找子域名名稱(chēng)敲长、收集電子郵件地址并尋找人際關(guān)系等功能

18、PyRailgun

這是一個(gè)非常簡(jiǎn)單易用的抓取工具秉继。支持抓取javascript渲染的頁(yè)面的簡(jiǎn)單實(shí)用高效的python網(wǎng)頁(yè)爬蟲(chóng)抓取模塊

授權(quán)協(xié)議: MIT

開(kāi)發(fā)語(yǔ)言: Python

操作系統(tǒng):?跨平臺(tái) Windows Linux OS X

特點(diǎn):簡(jiǎn)潔祈噪、輕量、高效的網(wǎng)頁(yè)抓取框架

備注:此軟件也是由國(guó)人開(kāi)放

github下載:https://github.com/princehaku/pyrailgun#readme

19秕噪、Scrapy

Scrapy 是一套基于基于Twisted的異步處理框架钳降,純python實(shí)現(xiàn)的爬蟲(chóng)框架厚宰,用戶只需要定制開(kāi)發(fā)幾個(gè)模塊就可以輕松的實(shí)現(xiàn)一個(gè)爬蟲(chóng)腌巾,用來(lái)抓取網(wǎng)頁(yè)內(nèi)容以及各種圖片,非常之方便~

授權(quán)協(xié)議: BSD

開(kāi)發(fā)語(yǔ)言: Python

操作系統(tǒng):?跨平臺(tái)

github源代碼:https://github.com/scrapy/scrapy

特點(diǎn):基于Twisted的異步處理框架铲觉,文檔齊全

C++爬蟲(chóng)

20澈蝙、hispider

HiSpider is a fast and high performance spider with high speed

嚴(yán)格說(shuō)只能是一個(gè)spider系統(tǒng)的框架,?沒(méi)有細(xì)化需求,?目前只是能提取URL, URL排重,?異步DNS解析,?隊(duì)列化任務(wù),?支持N機(jī)分布式下載,?支持網(wǎng)站定向下載(需要配置hispiderd.ini whitelist).

特征和用法:

基于unix/linux系統(tǒng)的開(kāi)發(fā)

異步DNS解析

URL排重

支持HTTP 壓縮編碼傳輸 gzip/deflate

字符集判斷自動(dòng)轉(zhuǎn)換成UTF-8編碼

文檔壓縮存儲(chǔ)

支持多下載節(jié)點(diǎn)分布式下載

支持網(wǎng)站定向下載(需要配置 hispiderd.ini whitelist )

可通過(guò) http://127.0.0.1:3721/?查看下載情況統(tǒng)計(jì),下載任務(wù)控制(可停止和恢復(fù)任務(wù))

依賴(lài)基本通信庫(kù)libevbase 和 libsbase (安裝的時(shí)候需要先安裝這個(gè)兩個(gè)庫(kù))、

工作流程:

從中心節(jié)點(diǎn)取URL(包括URL對(duì)應(yīng)的任務(wù)號(hào), IP和port,也可能需要自己解析)

連接服務(wù)器發(fā)送請(qǐng)求

等待數(shù)據(jù)頭判斷是否需要的數(shù)據(jù)(目前主要取text類(lèi)型的數(shù)據(jù))

等待完成數(shù)據(jù)(有l(wèi)ength頭的直接等待說(shuō)明長(zhǎng)度的數(shù)據(jù)否則等待比較大的數(shù)字然后設(shè)置超時(shí))

數(shù)據(jù)完成或者超時(shí), zlib壓縮數(shù)據(jù)返回給中心服務(wù)器,數(shù)據(jù)可能包括自己解析DNS信息,?壓縮后數(shù)據(jù)長(zhǎng)度+壓縮后數(shù)據(jù),?如果出錯(cuò)就直接返回任務(wù)號(hào)以及相關(guān)信息

中心服務(wù)器收到帶有任務(wù)號(hào)的數(shù)據(jù),?查看是否包括數(shù)據(jù),?如果沒(méi)有數(shù)據(jù)直接置任務(wù)號(hào)對(duì)應(yīng)的狀態(tài)為錯(cuò)誤,?如果有數(shù)據(jù)提取數(shù)據(jù)種link 然后存儲(chǔ)數(shù)據(jù)到文檔文件.

完成后返回一個(gè)新的任務(wù).

授權(quán)協(xié)議: BSD

開(kāi)發(fā)語(yǔ)言: C/C++

操作系統(tǒng): Linux

特點(diǎn):支持多機(jī)分布式下載,?支持網(wǎng)站定向下載

21撵幽、larbin

larbin是一種開(kāi)源的網(wǎng)絡(luò)爬蟲(chóng)/網(wǎng)絡(luò)蜘蛛灯荧,由法國(guó)的年輕人 Sébastien Ailleret獨(dú)立開(kāi)發(fā)。larbin目的是能夠跟蹤頁(yè)面的url進(jìn)行擴(kuò)展的抓取盐杂,最后為搜索引擎提供廣泛的數(shù)據(jù)來(lái)源逗载。Larbin只是一個(gè)爬蟲(chóng),也就?是說(shuō)larbin只抓取網(wǎng)頁(yè)链烈,至于如何parse的事情則由用戶自己完成厉斟。另外,如何存儲(chǔ)到數(shù)據(jù)庫(kù)以及建立索引的事情 larbin也不提供强衡。一個(gè)簡(jiǎn)單的larbin的爬蟲(chóng)可以每天獲炔粱唷500萬(wàn)的網(wǎng)頁(yè)。

利用larbin漩勤,我們可以輕易的獲取/確定單個(gè)網(wǎng)站的所有鏈接感挥,甚至可以鏡像一個(gè)網(wǎng)站;也可以用它建立url 列表群越败,例如針對(duì)所有的網(wǎng)頁(yè)進(jìn)行 url retrive后触幼,進(jìn)行xml的聯(lián)結(jié)的獲取【糠桑或者是 mp3域蜗,或者定制larbin巨双,可以作為搜索引擎的信息的來(lái)源。

授權(quán)協(xié)議: GPL

開(kāi)發(fā)語(yǔ)言: C/C++

操作系統(tǒng): Linux

特點(diǎn):高性能的爬蟲(chóng)軟件霉祸,只負(fù)責(zé)抓取不負(fù)責(zé)解析

22筑累、Methabot

Methabot 是一個(gè)經(jīng)過(guò)速度優(yōu)化的高可配置的 WEB、FTP丝蹭、本地文件系統(tǒng)的爬蟲(chóng)軟件慢宗。

授權(quán)協(xié)議:?未知

開(kāi)發(fā)語(yǔ)言: C/C++

操作系統(tǒng): Windows Linux

特點(diǎn):過(guò)速度優(yōu)化、可抓取WEB奔穿、FTP及本地文件系統(tǒng)

源代碼:http://www.oschina.net/code/tag/methabot

C#爬蟲(chóng)

23镜沽、NWebCrawler

NWebCrawler是一款開(kāi)源,C#開(kāi)發(fā)網(wǎng)絡(luò)爬蟲(chóng)程序贱田。

特性:

可配置:線程數(shù)缅茉,等待時(shí)間,連接超時(shí)男摧,允許MIME類(lèi)型和優(yōu)先級(jí)蔬墩,下載文件夾。

統(tǒng)計(jì)信息:URL數(shù)量耗拓,總下載文件拇颅,總下載字節(jié)數(shù),CPU利用率和可用內(nèi)存乔询。

Preferential crawler:用戶可以設(shè)置優(yōu)先級(jí)的MIME類(lèi)型樟插。

Robust: 10+ URL normalization rules, crawler trap avoiding rules.

授權(quán)協(xié)議: GPLv2

開(kāi)發(fā)語(yǔ)言: C#

操作系統(tǒng): Windows

項(xiàng)目主頁(yè):http://www.open-open.com/lib/view/home/1350117470448

特點(diǎn):統(tǒng)計(jì)信息、執(zhí)行過(guò)程可視化

24竿刁、Sinawler

國(guó)內(nèi)第一個(gè)針對(duì)微博數(shù)據(jù)的爬蟲(chóng)程序黄锤!原名“新浪微博爬蟲(chóng)”。

登錄后食拜,可以指定用戶為起點(diǎn)鸵熟,以該用戶的關(guān)注人、粉絲為線索监婶,延人脈關(guān)系搜集用戶基本信息旅赢、微博數(shù)據(jù)、評(píng)論數(shù)據(jù)惑惶。

該應(yīng)用獲取的數(shù)據(jù)可作為科研煮盼、與新浪微博相關(guān)的研發(fā)等的數(shù)據(jù)支持,但請(qǐng)勿用于商業(yè)用途带污。該應(yīng)用基于.NET2.0框架僵控,需SQL SERVER作為后臺(tái)數(shù)據(jù)庫(kù),并提供了針對(duì)SQL Server的數(shù)據(jù)庫(kù)腳本文件鱼冀。

另外报破,由于新浪微博API的限制悠就,爬取的數(shù)據(jù)可能不夠完整(如獲取粉絲數(shù)量的限制、獲取微博數(shù)量的限制等)

本程序版權(quán)歸作者所有充易。你可以免費(fèi):?拷貝梗脾、分發(fā)、呈現(xiàn)和表演當(dāng)前作品,制作派生作品盹靴。?你不可將當(dāng)前作品用于商業(yè)目的炸茧。

5.x版本已經(jīng)發(fā)布!?該版本共有6個(gè)后臺(tái)工作線程:爬取用戶基本信息的機(jī)器人稿静、爬取用戶關(guān)系的機(jī)器人梭冠、爬取用戶標(biāo)簽的機(jī)器人、爬取微博內(nèi)容的機(jī)器人改备、爬取微博評(píng)論的機(jī)器人控漠,以及調(diào)節(jié)請(qǐng)求頻率的機(jī)器人。更高的性能悬钳!最大限度挖掘爬蟲(chóng)潛力盐捷!?以現(xiàn)在測(cè)試的結(jié)果看,已經(jīng)能夠滿足自用他去。

本程序的特點(diǎn):

1毙驯、6個(gè)后臺(tái)工作線程倒堕,最大限度挖掘爬蟲(chóng)性能潛力灾测!

2、界面上提供參數(shù)設(shè)置垦巴,靈活方便

3媳搪、拋棄app.config配置文件,自己實(shí)現(xiàn)配置信息的加密存儲(chǔ)骤宣,保護(hù)數(shù)據(jù)庫(kù)帳號(hào)信息

4秦爆、自動(dòng)調(diào)整請(qǐng)求頻率,防止超限憔披,也避免過(guò)慢等限,降低效率

5、任意對(duì)爬蟲(chóng)控制芬膝,可隨時(shí)暫停望门、繼續(xù)、停止爬蟲(chóng)

6锰霜、良好的用戶體驗(yàn)

授權(quán)協(xié)議: GPLv3

開(kāi)發(fā)語(yǔ)言: C#?.NET

操作系統(tǒng): Windows

25筹误、spidernet

spidernet是一個(gè)以遞歸樹(shù)為模型的多線程web爬蟲(chóng)程序,?支持text/html資源的獲取.?可以設(shè)定爬行深度,?最大下載字節(jié)數(shù)限制,?支持gzip解碼,?支持以gbk(gb2312)和utf8編碼的資源;?存儲(chǔ)于sqlite數(shù)據(jù)文件.

源碼中TODO:標(biāo)記描述了未完成功能,?希望提交你的代碼.

授權(quán)協(xié)議: MIT

開(kāi)發(fā)語(yǔ)言: C#

操作系統(tǒng): Windows

github源代碼:https://github.com/nsnail/spidernet

特點(diǎn):以遞歸樹(shù)為模型的多線程web爬蟲(chóng)程序,支持以GBK (gb2312)和utf8編碼的資源癣缅,使用sqlite存儲(chǔ)數(shù)據(jù)

26厨剪、Web Crawler

mart and Simple Web Crawler是一個(gè)Web爬蟲(chóng)框架哄酝。集成Lucene支持。該爬蟲(chóng)可以從單個(gè)鏈接或一個(gè)鏈接數(shù)組開(kāi)始祷膳,提供兩種遍歷模式:最大迭代和最大深度陶衅。可以設(shè)置?過(guò)濾器限制爬回來(lái)的鏈接直晨,默認(rèn)提供三個(gè)過(guò)濾器ServerFilter万哪、BeginningPathFilter和 RegularExpressionFilter,這三個(gè)過(guò)濾器可用AND抡秆、OR和NOT聯(lián)合奕巍。在解析過(guò)程或頁(yè)面加載前后都可以加監(jiān)聽(tīng)器。介紹內(nèi)容來(lái)自O(shè)pen-Open

開(kāi)發(fā)語(yǔ)言: Java

操作系統(tǒng):?跨平臺(tái)

授權(quán)協(xié)議: LGPL

特點(diǎn):多線程儒士,支持抓取PDF/DOC/EXCEL等文檔來(lái)源

27的止、網(wǎng)絡(luò)礦工

網(wǎng)站數(shù)據(jù)采集軟件?網(wǎng)絡(luò)礦工采集器(原soukey采摘)

Soukey采摘網(wǎng)站數(shù)據(jù)采集軟件是一款基于.Net平臺(tái)的開(kāi)源軟件,也是網(wǎng)站數(shù)據(jù)采集軟件類(lèi)型中唯一一款開(kāi)源軟件着撩。盡管Soukey采摘開(kāi)源诅福,但并不會(huì)影響軟件功能的提供,甚至要比一些商用軟件的功能還要豐富拖叙。

授權(quán)協(xié)議: BSD

開(kāi)發(fā)語(yǔ)言: C#?.NET

操作系統(tǒng): Windows

特點(diǎn):功能豐富氓润,毫不遜色于商業(yè)軟件

PHP爬蟲(chóng)

28、OpenWebSpider

OpenWebSpider是一個(gè)開(kāi)源多線程Web Spider(robot:機(jī)器人薯鳍,crawler:爬蟲(chóng))和包含許多有趣功能的搜索引擎咖气。

授權(quán)協(xié)議:?未知

開(kāi)發(fā)語(yǔ)言: PHP

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):開(kāi)源多線程網(wǎng)絡(luò)爬蟲(chóng),有許多有趣的功能

29挖滤、PhpDig

PhpDig是一個(gè)采用PHP開(kāi)發(fā)的Web爬蟲(chóng)和搜索引擎崩溪。通過(guò)對(duì)動(dòng)態(tài)和靜態(tài)頁(yè)面進(jìn)行索引建立一個(gè)詞匯表。當(dāng)搜索查詢(xún)時(shí)斩松,它將按一定的排序規(guī)則顯示包含關(guān)?鍵字的搜索結(jié)果頁(yè)面伶唯。PhpDig包含一個(gè)模板系統(tǒng)并能夠索引PDF,Word,Excel,和PowerPoint文檔。PHPdig適用于專(zhuān)業(yè)化更?強(qiáng)惧盹、層次更深的個(gè)性化搜索引擎乳幸,利用它打造針對(duì)某一領(lǐng)域的垂直搜索引擎是最好的選擇。

演示:http://www.phpdig.net/navigation.php?action=demo

授權(quán)協(xié)議: GPL

開(kāi)發(fā)語(yǔ)言: PHP

操作系統(tǒng):?跨平臺(tái)

特點(diǎn):具有采集網(wǎng)頁(yè)內(nèi)容钧椰、提交表單功能

30粹断、ThinkUp

ThinkUp 是一個(gè)可以采集推特,facebook等社交網(wǎng)絡(luò)數(shù)據(jù)的社會(huì)媒體視角引擎演侯。通過(guò)采集個(gè)人的社交網(wǎng)絡(luò)賬號(hào)中的數(shù)據(jù)姿染,對(duì)其存檔以及處理的交互分析工具,并將數(shù)據(jù)圖形化以便更直觀的查看。

授權(quán)協(xié)議: GPL

開(kāi)發(fā)語(yǔ)言: PHP

操作系統(tǒng):?跨平臺(tái)

github源碼:https://github.com/ThinkUpLLC/ThinkUp

特點(diǎn):采集推特悬赏、臉譜等社交網(wǎng)絡(luò)數(shù)據(jù)的社會(huì)媒體視角引擎狡汉,可進(jìn)行交互分析并將結(jié)果以可視化形式展現(xiàn)

31、微購(gòu)

微購(gòu)社會(huì)化購(gòu)物系統(tǒng)是一款基于ThinkPHP框架開(kāi)發(fā)的開(kāi)源的購(gòu)物分享系統(tǒng)闽颇,同時(shí)它也是一套針對(duì)站長(zhǎng)盾戴、開(kāi)源的的淘寶客網(wǎng)站程序,它整合了淘寶兵多、天貓尖啡、淘寶客等300多家商品數(shù)據(jù)采集接口,為廣大的淘寶客站長(zhǎng)提供傻瓜式淘客建站服務(wù)剩膘,會(huì)HTML就會(huì)做程序模板衅斩,免費(fèi)開(kāi)放下載,是廣大淘客站長(zhǎng)的首選怠褐。

演示網(wǎng)址:http://tlx.wego360.com

授權(quán)協(xié)議: GPL

開(kāi)發(fā)語(yǔ)言: PHP

操作系統(tǒng):?跨平臺(tái)

ErLang爬蟲(chóng)

32畏梆、Ebot

Ebot 是一個(gè)用 ErLang 語(yǔ)言開(kāi)發(fā)的可伸縮的分布式網(wǎng)頁(yè)爬蟲(chóng),URLs?被保存在數(shù)據(jù)庫(kù)中可通過(guò) RESTful 的 HTTP 請(qǐng)求來(lái)查詢(xún)奈懒。

授權(quán)協(xié)議: GPLv3

開(kāi)發(fā)語(yǔ)言: ErLang

操作系統(tǒng):?跨平臺(tái)

github源代碼:https://github.com/matteoredaelli/ebot

項(xiàng)目主頁(yè): http://www.redaelli.org/matteo/blog/projects/ebot

特點(diǎn):可伸縮的分布式網(wǎng)頁(yè)爬蟲(chóng)

Ruby爬蟲(chóng)

33奠涌、Spidr

Spidr 是一個(gè)Ruby?的網(wǎng)頁(yè)爬蟲(chóng)庫(kù),可以將整個(gè)網(wǎng)站磷杏、多個(gè)網(wǎng)站溜畅、某個(gè)鏈接完全抓取到本地。

開(kāi)發(fā)語(yǔ)言: Ruby

授權(quán)協(xié)議:MIT

特點(diǎn):可將一個(gè)或多個(gè)網(wǎng)站极祸、某個(gè)鏈接完全抓取到本地

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慈格,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子贿肩,更是在濱河造成了極大的恐慌峦椰,老刑警劉巖龄寞,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汰规,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡物邑,警方通過(guò)查閱死者的電腦和手機(jī)溜哮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)色解,“玉大人茂嗓,你說(shuō)我怎么就攤上這事】蒲郑” “怎么了述吸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蝌矛,道長(zhǎng)道批,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任入撒,我火速辦了婚禮隆豹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茅逮。我一直安慰自己璃赡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布献雅。 她就那樣靜靜地躺著碉考,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挺身。 梳的紋絲不亂的頭發(fā)上豆励,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音瞒渠,去河邊找鬼良蒸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛伍玖,可吹牛的內(nèi)容都是我干的嫩痰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼窍箍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼串纺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起椰棘,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤纺棺,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后邪狞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體祷蝌,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年帆卓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了巨朦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡剑令,死狀恐怖糊啡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吁津,我是刑警寧澤棚蓄,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響梭依,放射性物質(zhì)發(fā)生泄漏挣柬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一睛挚、第九天 我趴在偏房一處隱蔽的房頂上張望邪蛔。 院中可真熱鬧,春花似錦扎狱、人聲如沸侧到。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)匠抗。三九已至,卻和暖如春污抬,著一層夾襖步出監(jiān)牢的瞬間汞贸,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工印机, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矢腻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓射赛,卻偏偏與公主長(zhǎng)得像多柑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楣责,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容