要玩大數(shù)據(jù),沒有數(shù)據(jù)怎么玩?這里推薦一些33款開源爬蟲軟件給大家。
爬蟲,即網(wǎng)絡(luò)爬蟲,是一種自動(dòng)獲取網(wǎng)頁內(nèi)容的程序。是搜索引擎的重要組成部分,因此搜索引擎優(yōu)化很大程度上就是針對(duì)爬蟲而做出的優(yōu)化。
網(wǎng)絡(luò)爬蟲是一個(gè)自動(dòng)提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個(gè)或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊(duì)列。然后,它將根據(jù)一定的搜索策略從隊(duì)列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程,直到達(dá)到系統(tǒng)的某一條件時(shí)停止。另外,所有被爬蟲抓取的網(wǎng)頁將會(huì)被系統(tǒng)存貯,進(jìn)行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對(duì)于聚焦爬蟲來說,這一過程所得到的分析結(jié)果還可能對(duì)以后的抓取過程給出反饋和指導(dǎo)。
世界上已經(jīng)成型的爬蟲軟件多達(dá)上百種,本文對(duì)較為知名及常見的開源爬蟲軟件進(jìn)行梳理,按開發(fā)語言進(jìn)行匯總。雖然搜索引擎也有爬蟲,但本次我匯總的只是爬蟲軟件,而非大型、復(fù)雜的搜索引擎,因?yàn)楹芏嘈值苤皇窍肱廊?shù)據(jù),而非運(yùn)營一個(gè)搜索引擎。
Java爬蟲
1. Arachnid
Arachnid是一個(gè)基于Java的web spider框架.它包含一個(gè)簡單的HTML剖析器能夠分析包含HTML內(nèi)容的輸入流.通過實(shí)現(xiàn)Arachnid的子類就能夠開發(fā)一個(gè)簡單的Web spiders并能夠在Web站上的每個(gè)頁面被解析之后增加幾行代碼調(diào)用。 Arachnid的下載包中包含兩個(gè)spider應(yīng)用程序例子用于演示如何使用該框架。
特點(diǎn):微型爬蟲框架,含有一個(gè)小型HTML解析器
許可證:GPL
2、crawlzilla
crawlzilla 是一個(gè)幫你輕松建立搜索引擎的自由軟件,有了它,你就不用依靠商業(yè)公司的搜索引擎,也不用再煩惱公司內(nèi)部網(wǎng)站資料索引的問題。
由 nutch 專案為核心,并整合更多相關(guān)套件,并卡發(fā)設(shè)計(jì)安裝與管理UI,讓使用者更方便上手。
crawlzilla 除了爬取基本的 html 外,還能分析網(wǎng)頁上的文件,如( doc、pdf、ppt、ooo、rss )等多種文件格式,讓你的搜索引擎不只是網(wǎng)頁搜索引擎,而是網(wǎng)站的完整資料索引庫。
擁有中文分詞能力,讓你的搜索更精準(zhǔn)。
crawlzilla的特色與目標(biāo),最主要就是提供使用者一個(gè)方便好用易安裝的搜索平臺(tái)。
授權(quán)協(xié)議: Apache License 2
開發(fā)語言: Java JavaScript SHELL
操作系統(tǒng): Linux
項(xiàng)目主頁: https://github.com/shunfa/crawlzilla
下載地址: http://sourceforge.net/projects/crawlzilla/
特點(diǎn):安裝簡易,擁有中文分詞功能
3、Ex-Crawler
Ex-Crawler 是一個(gè)網(wǎng)頁爬蟲,采用 Java 開發(fā),該項(xiàng)目分成兩部分,一個(gè)是守護(hù)進(jìn)程,另外一個(gè)是靈活可配置的 Web 爬蟲。使用數(shù)據(jù)庫存儲(chǔ)網(wǎng)頁信息。
授權(quán)協(xié)議: GPLv3
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):由守護(hù)進(jìn)程執(zhí)行,使用數(shù)據(jù)庫存儲(chǔ)網(wǎng)頁信息
4、Heritrix
Heritrix 是一個(gè)由 java 開發(fā)的、開源的網(wǎng)絡(luò)爬蟲,用戶可以使用它來從網(wǎng)上抓取想要的資源。其最出色之處在于它良好的可擴(kuò)展性,方便用戶實(shí)現(xiàn)自己的抓取邏輯。
Heritrix采用的是模塊化的設(shè)計(jì),各個(gè)模塊由一個(gè)控制器類(CrawlController類)來協(xié)調(diào),控制器是整體的核心。
代碼托管:https://github.com/internetarchive/heritrix3
授權(quán)協(xié)議: Apache
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):嚴(yán)格遵照robots文件的排除指示和META robots標(biāo)簽
5、heyDr
heyDr是一款基于java的輕量級(jí)開源多線程垂直檢索爬蟲框架,遵循GNU GPL V3協(xié)議。
用戶可以通過heyDr構(gòu)建自己的垂直資源爬蟲,用于搭建垂直搜索引擎前期的數(shù)據(jù)準(zhǔn)備。
授權(quán)協(xié)議: GPLv3
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):輕量級(jí)開源多線程垂直檢索爬蟲框架
6、ItSucks
ItSucks是一個(gè)java web spider(web機(jī)器人,爬蟲)開源項(xiàng)目。支持通過下載模板和正則表達(dá)式來定義下載規(guī)則。提供一個(gè)swing GUI操作界面。
特點(diǎn):提供swing GUI操作界面
7、jcrawl
jcrawl是一款小巧性能優(yōu)良的的web爬蟲,它可以從網(wǎng)頁抓取各種類型的文件,基于用戶定義的符號(hào),比如email,qq.
授權(quán)協(xié)議: Apache
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):輕量、性能優(yōu)良,可以從網(wǎng)頁抓取各種類型的文件
8、JSpider
JSpider是一個(gè)用Java實(shí)現(xiàn)的WebSpider,JSpider的執(zhí)行格式如下:
jspider [ConfigName]
URL一定要加上協(xié)議名稱,如:http://,否則會(huì)報(bào)錯(cuò)。如果省掉ConfigName,則采用默認(rèn)配置。
JSpider 的行為是由配置文件具體配置的,比如采用什么插件,結(jié)果存儲(chǔ)方式等等都在conf\[ConfigName]\目錄下設(shè)置。JSpider默認(rèn)的配置種類 很少,用途也不大。但是JSpider非常容易擴(kuò)展,可以利用它開發(fā)強(qiáng)大的網(wǎng)頁抓取與數(shù)據(jù)分析工具。要做到這些,需要對(duì)JSpider的原理有深入的了 解,然后根據(jù)自己的需求開發(fā)插件,撰寫配置文件。
授權(quán)協(xié)議: LGPL
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):功能強(qiáng)大,容易擴(kuò)展
9、Leopdo
用JAVA編寫的web 搜索和爬蟲,包括全文和分類垂直搜索,以及分詞系統(tǒng)
授權(quán)協(xié)議: Apache
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):包括全文和分類垂直搜索,以及分詞系統(tǒng)
10、MetaSeeker
是一套完整的網(wǎng)頁內(nèi)容抓取、格式化、數(shù)據(jù)集成、存儲(chǔ)管理和搜索解決方案。
網(wǎng)絡(luò)爬蟲有多種實(shí)現(xiàn)方法,如果按照部署在哪里分,可以分成:
服務(wù)器側(cè):
一般是一個(gè)多線程程序,同時(shí)下載多個(gè)目標(biāo)HTML,可以用PHP, Java, Python(當(dāng)前很流行)等做,可以速度做得很快,一般綜合搜索引擎的爬蟲這樣做。但是,如果對(duì)方討厭爬蟲,很可能封掉你的IP,服務(wù)器IP又不容易 改,另外耗用的帶寬也是挺貴的。建議看一下Beautiful soap。
客戶端:
一般實(shí)現(xiàn)定題爬蟲,或者是聚焦爬蟲,做綜合搜索引擎不容易成功,而垂直搜訴或者比價(jià)服務(wù)或者推薦引擎,相對(duì)容易很多,這類爬蟲不是什么頁面都 取的,而是只取你關(guān)系的頁面,而且只取頁面上關(guān)心的內(nèi)容,例如提取黃頁信息,商品價(jià)格信息,還有提取競爭對(duì)手廣告信息的,搜一下Spyfu,很有趣。這類 爬蟲可以部署很多,而且可以很有侵略性,對(duì)方很難封鎖。
MetaSeeker中的網(wǎng)絡(luò)爬蟲就屬于后者。
MetaSeeker工具包利用Mozilla平臺(tái)的能力,只要是Firefox看到的東西,它都能提取。
MetaSeeker工具包是免費(fèi)使用的,下載地址:www.gooseeker.com/cn/node/download/front
特點(diǎn):網(wǎng)頁抓取、信息提取、數(shù)據(jù)抽取工具包,操作簡單
11、Playfish
playfish是一個(gè)采用java技術(shù),綜合應(yīng)用多個(gè)開源java組件實(shí)現(xiàn)的網(wǎng)頁抓取工具,通過XML配置文件實(shí)現(xiàn)高度可定制性與可擴(kuò)展性的網(wǎng)頁抓取工具
應(yīng)用開源jar包包括httpclient(內(nèi)容讀取),dom4j(配置文件解析),jericho(html解析),已經(jīng)在 war包的lib下。
這個(gè)項(xiàng)目目前還很不成熟,但是功能基本都完成了。要求使用者熟悉XML,熟悉正則表達(dá)式。目前通過這個(gè)工具可以抓取各類論壇,貼吧,以及各類CMS系統(tǒng)。像Discuz!,phpbb,論壇跟博客的文章,通過本工具都可以輕松抓取。抓取定義完全采用XML,適合Java開發(fā)人員使用。
使用方法:
下載右邊的.war包導(dǎo)入到eclipse中,
使用WebContent/sql下的wcc.sql文件建立一個(gè)范例數(shù)據(jù)庫,
修改src包下wcc.core的dbConfig.txt,將用戶名與密碼設(shè)置成你自己的mysql用戶名密碼。
然后運(yùn)行SystemCore,運(yùn)行時(shí)候會(huì)在控制臺(tái),無參數(shù)會(huì)執(zhí)行默認(rèn)的example.xml的配置文件,帶參數(shù)時(shí)候名稱為配置文件名。
系統(tǒng)自帶了3個(gè)例子,分別為baidu.xml抓取百度知道,example.xml抓取我的javaeye的博客,bbs.xml抓取一個(gè)采用 discuz論壇的內(nèi)容。
授權(quán)協(xié)議: MIT
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):通過XML配置文件實(shí)現(xiàn)高度可定制性與可擴(kuò)展性
12、Spiderman
Spiderman 是一個(gè)基于微內(nèi)核+插件式架構(gòu)的網(wǎng)絡(luò)蜘蛛,它的目標(biāo)是通過簡單的方法就能將復(fù)雜的目標(biāo)網(wǎng)頁信息抓取并解析為自己所需要的業(yè)務(wù)數(shù)據(jù)。
怎么使用?
首先,確定好你的目標(biāo)網(wǎng)站以及目標(biāo)網(wǎng)頁(即某一類你想要獲取數(shù)據(jù)的網(wǎng)頁,例如網(wǎng)易新聞的新聞頁面)
然后,打開目標(biāo)頁面,分析頁面的HTML結(jié)構(gòu),得到你想要數(shù)據(jù)的XPath,具體XPath怎么獲取請(qǐng)看下文。
最后,在一個(gè)xml配置文件里填寫好參數(shù),運(yùn)行Spiderman吧!
授權(quán)協(xié)議: Apache
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):靈活、擴(kuò)展性強(qiáng),微內(nèi)核+插件式架構(gòu),通過簡單的配置就可以完成數(shù)據(jù)抓取,無需編寫一句代碼
13、webmagic
webmagic的是一個(gè)無須配置、便于二次開發(fā)的爬蟲框架,它提供簡單靈活的API,只需少量代碼即可實(shí)現(xiàn)一個(gè)爬蟲。
webmagic采用完全模塊化的設(shè)計(jì),功能覆蓋整個(gè)爬蟲的生命周期(鏈接提取、頁面下載、內(nèi)容抽取、持久化),支持多線程抓取,分布式抓取,并支持自動(dòng)重試、自定義UA/cookie等功能。
webmagic包含強(qiáng)大的頁面抽取功能,開發(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
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):功能覆蓋整個(gè)爬蟲生命周期,使用Xpath和正則表達(dá)式進(jìn)行鏈接和內(nèi)容的提取。
備注:這是一款國產(chǎn)開源軟件,由 黃億華貢獻(xiàn)
14、Web-Harvest
Web-Harvest是一個(gè)Java開源Web數(shù)據(jù)抽取工具。它能夠收集指定的Web頁面并從這些頁面中提取有用的數(shù)據(jù)。Web-Harvest主要是運(yùn)用了像XSLT,XQuery,正則表達(dá)式等這些技術(shù)來實(shí)現(xiàn)對(duì)text/xml的操作。
其實(shí)現(xiàn)原理是,根據(jù)預(yù)先定義的配置文件用httpclient獲取頁面的全部內(nèi)容(關(guān)于httpclient的內(nèi)容,本博有些文章已介紹),然后運(yùn)用XPath、XQuery、正則表達(dá)式等這些技術(shù)來實(shí)現(xiàn)對(duì)text/xml的內(nèi)容篩選操作,選取精確的數(shù)據(jù)。前兩年比較火的垂直搜索(比如:酷訊等)也是采用類似的原理實(shí)現(xiàn)的。Web-Harvest應(yīng)用,關(guān)鍵就是理解和定義配置文件,其他的就是考慮怎么處理數(shù)據(jù)的Java代碼。當(dāng)然在爬蟲開始前,也可以把Java變量填充到配置文件中,實(shí)現(xiàn)動(dòng)態(tài)的配置。
授權(quán)協(xié)議: BSD
開發(fā)語言: Java
特點(diǎn):運(yùn)用XSLT、XQuery、正則表達(dá)式等技術(shù)來實(shí)現(xiàn)對(duì)Text或XML的操作,具有可視化的界面
15、WebSPHINX
WebSPHINX是一個(gè)Java類包和Web爬蟲的交互式開發(fā)環(huán)境。Web爬蟲(也叫作機(jī)器人或蜘蛛)是可以自動(dòng)瀏覽與處理Web頁面的程序。WebSPHINX由兩部分組成:爬蟲工作平臺(tái)和WebSPHINX類包。
授權(quán)協(xié)議:Apache
開發(fā)語言:Java
特點(diǎn):由兩部分組成:爬蟲工作平臺(tái)和WebSPHINX類包
16、YaCy
YaCy基于p2p的分布式Web搜索引擎.同時(shí)也是一個(gè)Http緩存代理服務(wù)器.這個(gè)項(xiàng)目是構(gòu)建基于p2p Web索引網(wǎng)絡(luò)的一個(gè)新方法.它可以搜索你自己的或全局的索引,也可以Crawl自己的網(wǎng)頁或啟動(dòng)分布式Crawling等.
授權(quán)協(xié)議: GPL
開發(fā)語言: Java Perl
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):基于P2P的分布式Web搜索引擎
Python爬蟲
17、QuickRecon
QuickRecon是一個(gè)簡單的信息收集工具,它可以幫助你查找子域名名稱、perform zone transfe、收集電子郵件地址和使用microformats尋找人際關(guān)系等。QuickRecon使用python編寫,支持linux和 windows操作系統(tǒng)。
授權(quán)協(xié)議: GPLv3
開發(fā)語言: Python
操作系統(tǒng): Windows Linux
特點(diǎn):具有查找子域名名稱、收集電子郵件地址并尋找人際關(guān)系等功能
18、PyRailgun
這是一個(gè)非常簡單易用的抓取工具。支持抓取javascript渲染的頁面的簡單實(shí)用高效的python網(wǎng)頁爬蟲抓取模塊
授權(quán)協(xié)議: MIT
開發(fā)語言: Python
操作系統(tǒng): 跨平臺(tái) Windows Linux OS X
特點(diǎn):簡潔、輕量、高效的網(wǎng)頁抓取框架
備注:此軟件也是由國人開放
github下載:https://github.com/princehaku/pyrailgun#readme
19、Scrapy
Scrapy 是一套基于基于Twisted的異步處理框架,純python實(shí)現(xiàn)的爬蟲框架,用戶只需要定制開發(fā)幾個(gè)模塊就可以輕松的實(shí)現(xiàn)一個(gè)爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便~
授權(quán)協(xié)議: BSD
開發(fā)語言: Python
操作系統(tǒng): 跨平臺(tái)
github源代碼:https://github.com/scrapy/scrapy
特點(diǎn):基于Twisted的異步處理框架,文檔齊全
C++爬蟲
20、hispider
HiSpider is a fast and high performance spider with high speed
嚴(yán)格說只能是一個(gè)spider系統(tǒng)的框架, 沒有細(xì)化需求, 目前只是能提取URL, URL排重, 異步DNS解析, 隊(duì)列化任務(wù), 支持N機(jī)分布式下載, 支持網(wǎng)站定向下載(需要配置hispiderd.ini whitelist).
特征和用法:
基于unix/linux系統(tǒng)的開發(fā)
異步DNS解析
URL排重
支持HTTP 壓縮編碼傳輸 gzip/deflate
字符集判斷自動(dòng)轉(zhuǎn)換成UTF-8編碼
文檔壓縮存儲(chǔ)
支持多下載節(jié)點(diǎn)分布式下載
支持網(wǎng)站定向下載(需要配置 hispiderd.ini whitelist )
可通過 http://127.0.0.1:3721/ 查看下載情況統(tǒng)計(jì),下載任務(wù)控制(可停止和恢復(fù)任務(wù))
依賴基本通信庫libevbase 和 libsbase (安裝的時(shí)候需要先安裝這個(gè)兩個(gè)庫)、
工作流程:
從中心節(jié)點(diǎn)取URL(包括URL對(duì)應(yīng)的任務(wù)號(hào), IP和port,也可能需要自己解析)
連接服務(wù)器發(fā)送請(qǐng)求
等待數(shù)據(jù)頭判斷是否需要的數(shù)據(jù)(目前主要取text類型的數(shù)據(jù))
等待完成數(shù)據(jù)(有l(wèi)ength頭的直接等待說明長度的數(shù)據(jù)否則等待比較大的數(shù)字然后設(shè)置超時(shí))
數(shù)據(jù)完成或者超時(shí), zlib壓縮數(shù)據(jù)返回給中心服務(wù)器,數(shù)據(jù)可能包括自己解析DNS信息, 壓縮后數(shù)據(jù)長度+壓縮后數(shù)據(jù), 如果出錯(cuò)就直接返回任務(wù)號(hào)以及相關(guān)信息
中心服務(wù)器收到帶有任務(wù)號(hào)的數(shù)據(jù), 查看是否包括數(shù)據(jù), 如果沒有數(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
開發(fā)語言: C/C++
操作系統(tǒng): Linux
特點(diǎn):支持多機(jī)分布式下載, 支持網(wǎng)站定向下載
21、larbin
larbin是一種開源的網(wǎng)絡(luò)爬蟲/網(wǎng)絡(luò)蜘蛛,由法國的年輕人 Sébastien Ailleret獨(dú)立開發(fā)。larbin目的是能夠跟蹤頁面的url進(jìn)行擴(kuò)展的抓取,最后為搜索引擎提供廣泛的數(shù)據(jù)來源。Larbin只是一個(gè)爬蟲,也就 是說larbin只抓取網(wǎng)頁,至于如何parse的事情則由用戶自己完成。另外,如何存儲(chǔ)到數(shù)據(jù)庫以及建立索引的事情 larbin也不提供。一個(gè)簡單的larbin的爬蟲可以每天獲取500萬的網(wǎng)頁。
利用larbin,我們可以輕易的獲取/確定單個(gè)網(wǎng)站的所有鏈接,甚至可以鏡像一個(gè)網(wǎng)站;也可以用它建立url 列表群,例如針對(duì)所有的網(wǎng)頁進(jìn)行 url retrive后,進(jìn)行xml的聯(lián)結(jié)的獲取;蛘呤 mp3,或者定制larbin,可以作為搜索引擎的信息的來源。
授權(quán)協(xié)議: GPL
開發(fā)語言: C/C++
操作系統(tǒng): Linux
特點(diǎn):高性能的爬蟲軟件,只負(fù)責(zé)抓取不負(fù)責(zé)解析
22、Methabot
Methabot 是一個(gè)經(jīng)過速度優(yōu)化的高可配置的 WEB、FTP、本地文件系統(tǒng)的爬蟲軟件。
授權(quán)協(xié)議: 未知
開發(fā)語言: C/C++
操作系統(tǒng): Windows Linux
特點(diǎn):過速度優(yōu)化、可抓取WEB、FTP及本地文件系統(tǒng)
源代碼:http://www.oschina.net/code/tag/methabot
C#爬蟲
23、NWebCrawler
NWebCrawler是一款開源,C#開發(fā)網(wǎng)絡(luò)爬蟲程序。
特性:
可配置:線程數(shù),等待時(shí)間,連接超時(shí),允許MIME類型和優(yōu)先級(jí),下載文件夾。
統(tǒng)計(jì)信息:URL數(shù)量,總下載文件,總下載字節(jié)數(shù),CPU利用率和可用內(nèi)存。
Preferential crawler:用戶可以設(shè)置優(yōu)先級(jí)的MIME類型。
Robust: 10+ URL normalization rules, crawler trap avoiding rules.
授權(quán)協(xié)議: GPLv2
開發(fā)語言: C#
操作系統(tǒng): Windows
項(xiàng)目主頁:http://www.open-open.com/lib/view/home/1350117470448
特點(diǎn):統(tǒng)計(jì)信息、執(zhí)行過程可視化
24、Sinawler
國內(nèi)第一個(gè)針對(duì)微博數(shù)據(jù)的爬蟲程序!原名“新浪微博爬蟲”。
登錄后,可以指定用戶為起點(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ù)庫,并提供了針對(duì)SQL Server的數(shù)據(jù)庫腳本文件。
另外,由于新浪微博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ī)器人。更高的性能!最大限度挖掘爬蟲潛力! 以現(xiàn)在測(cè)試的結(jié)果看,已經(jīng)能夠滿足自用。
本程序的特點(diǎn):
6個(gè)后臺(tái)工作線程,最大限度挖掘爬蟲性能潛力!
界面上提供參數(shù)設(shè)置,靈活方便
拋棄app.config配置文件,自己實(shí)現(xiàn)配置信息的加密存儲(chǔ),保護(hù)數(shù)據(jù)庫帳號(hào)信息
自動(dòng)調(diào)整請(qǐng)求頻率,防止超限,也避免過慢,降低效率
任意對(duì)爬蟲控制,可隨時(shí)暫停、繼續(xù)、停止爬蟲
良好的用戶體驗(yàn)
授權(quán)協(xié)議: GPLv3
開發(fā)語言: C# .NET
操作系統(tǒng): Windows
25、spidernet
spidernet是一個(gè)以遞歸樹為模型的多線程web爬蟲程序, 支持text/html資源的獲取. 可以設(shè)定爬行深度, 最大下載字節(jié)數(shù)限制, 支持gzip解碼, 支持以gbk(gb2312)和utf8編碼的資源; 存儲(chǔ)于sqlite數(shù)據(jù)文件.
源碼中TODO:標(biāo)記描述了未完成功能, 希望提交你的代碼.
授權(quán)協(xié)議: MIT
開發(fā)語言: C#
操作系統(tǒng): Windows
github源代碼:https://github.com/nsnail/spidernet
特點(diǎn):以遞歸樹為模型的多線程web爬蟲程序,支持以GBK (gb2312)和utf8編碼的資源,使用sqlite存儲(chǔ)數(shù)據(jù)
26、Web Crawler
mart and Simple Web Crawler是一個(gè)Web爬蟲框架。集成Lucene支持。該爬蟲可以從單個(gè)鏈接或一個(gè)鏈接數(shù)組開始,提供兩種遍歷模式:最大迭代和最大深度。可以設(shè)置 過濾器限制爬回來的鏈接,默認(rèn)提供三個(gè)過濾器ServerFilter、BeginningPathFilter和 RegularExpressionFilter,這三個(gè)過濾器可用AND、OR和NOT聯(lián)合。在解析過程或頁面加載前后都可以加******。介紹內(nèi)容來自O(shè)pen-Open
開發(fā)語言: Java
操作系統(tǒng): 跨平臺(tái)
授權(quán)協(xié)議: LGPL
特點(diǎn):多線程,支持抓取PDF/DOC/EXCEL等文檔來源
27、網(wǎng)絡(luò)礦工
網(wǎng)站數(shù)據(jù)采集軟件 網(wǎng)絡(luò)礦工采集器(原soukey采摘)
Soukey采摘網(wǎng)站數(shù)據(jù)采集軟件是一款基于.Net平臺(tái)的開源軟件,也是網(wǎng)站數(shù)據(jù)采集軟件類型中唯一一款開源軟件。盡管Soukey采摘開源,但并不會(huì)影響軟件功能的提供,甚至要比一些商用軟件的功能還要豐富。
授權(quán)協(xié)議: BSD
開發(fā)語言: C# .NET
操作系統(tǒng): Windows
特點(diǎn):功能豐富,毫不遜色于商業(yè)軟件
PHP爬蟲
28、OpenWebSpider
OpenWebSpider是一個(gè)開源多線程Web Spider(robot:機(jī)器人,crawler:爬蟲)和包含許多有趣功能的搜索引擎。
授權(quán)協(xié)議: 未知
開發(fā)語言: PHP
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):開源多線程網(wǎng)絡(luò)爬蟲,有許多有趣的功能
29、PhpDig
PhpDig是一個(gè)采用PHP開發(fā)的Web爬蟲和搜索引擎。通過對(duì)動(dòng)態(tài)和靜態(tài)頁面進(jìn)行索引建立一個(gè)詞匯表。當(dāng)搜索查詢時(shí),它將按一定的排序規(guī)則顯示包含關(guān) 鍵字的搜索結(jié)果頁面。PhpDig包含一個(gè)模板系統(tǒng)并能夠索引PDF,Word,Excel,和PowerPoint文檔。PHPdig適用于專業(yè)化更 強(qiáng)、層次更深的個(gè)性化搜索引擎,利用它打造針對(duì)某一領(lǐng)域的垂直搜索引擎是最好的選擇。
演示:http://www.phpdig.net/navigation.php?action=demo
授權(quán)協(xié)議: GPL
開發(fā)語言: PHP
操作系統(tǒng): 跨平臺(tái)
特點(diǎn):具有采集網(wǎng)頁內(nèi)容、提交表單功能
30、ThinkUp
ThinkUp 是一個(gè)可以采集推特,facebook等社交網(wǎng)絡(luò)數(shù)據(jù)的社會(huì)媒體視角引擎。通過采集個(gè)人的社交網(wǎng)絡(luò)賬號(hào)中的數(shù)據(jù),對(duì)其存檔以及處理的交互分析工具,并將數(shù)據(jù)圖形化以便更直觀的查看。
授權(quán)協(xié)議: GPL
開發(fā)語言: 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、微購
微購社會(huì)化購物系統(tǒng)是一款基于ThinkPHP框架開發(fā)的開源的購物分享系統(tǒng),同時(shí)它也是一套針對(duì)站長、開源的的淘寶客網(wǎng)站程序,它整合了淘寶、天貓、淘寶客等300多家商品數(shù)據(jù)采集接口,為廣大的淘寶客站長提供傻瓜式淘客建站服務(wù),會(huì)HTML就會(huì)做程序模板,免費(fèi)開放下載,是廣大淘客站長的首選。
演示網(wǎng)址:http://tlx.wego360.com
授權(quán)協(xié)議: GPL
開發(fā)語言: PHP
操作系統(tǒng): 跨平臺(tái)
ErLang爬蟲
32、Ebot
Ebot 是一個(gè)用 ErLang 語言開發(fā)的可伸縮的分布式網(wǎng)頁爬蟲,URLs 被保存在數(shù)據(jù)庫中可通過 RESTful 的 HTTP 請(qǐng)求來查詢。
授權(quán)協(xié)議: GPLv3
開發(fā)語言: ErLang
操作系統(tǒng): 跨平臺(tái)
github源代碼:https://github.com/matteoredaelli/ebot
項(xiàng)目主頁: http://www.redaelli.org/matteo/blog/projects/ebot
特點(diǎn):可伸縮的分布式網(wǎng)頁爬蟲
Ruby爬蟲
33、Spidr
Spidr 是一個(gè)Ruby 的網(wǎng)頁爬蟲庫,可以將整個(gè)網(wǎng)站、多個(gè)網(wǎng)站、某個(gè)鏈接完全抓取到本地。
開發(fā)語言: Ruby
授權(quán)協(xié)議:MIT
特點(diǎn):可將一個(gè)或多個(gè)網(wǎng)站、某個(gè)鏈接完全抓取到本地
本文由36大數(shù)據(jù)收集整理
|