為什麼說八爪魚雲採集才是真正的雲採集

先說一個事:"雲採集"這個概念,是我們八爪魚首創的,無論國內還是國際。

2013年,八爪魚從13年創業開始,就自創了雲採集技術,我們可以在八爪魚的版本更新記錄裡面找到痕迹。只是出於當初創業,對於IP的意識不充分,也沒錢沒精力去申請相關知識產權,以致於現在很多競品公司都在拿他們有雲採集技術來忽悠他們的產品,但很多公司其實都沒搞清楚真正的雲採集技術。

2013-12-06版本更新記錄

2014-05-01版本更新記錄

我們今天要來談的就是雲採集是如何顛覆整個爬蟲界的,當然,因為我們八爪魚是當事人,所以筆者可以帶著大家回顧近幾年爬蟲的發展史。


雲採集是在什麼背景下誕生的

2006年8月9日,Google首席執行官埃里克·施密特(Eric Schmidt)在搜索引擎大會(SES San Jose 2006)首次提出「雲計算」(Cloud Computing)的概念。Google「雲端計算」源於Google工程師克里斯托弗·比希利亞所做的「Google 101」項目。

直到08年,中國IT界才開始在談雲計算,筆者作為一名07年計算機專業畢業生,正好趕上這一波熱潮,但說實話,那時候都是概念,沒有人見到真正的產品,所以都沒搞清楚到底是什麼東西。

頂多就聽說Google 的Google Charts,Google Words等。當時沒明白像Google Charts,Google Words這些產品有什麼用,不就是網頁版的word,excel嘛,還沒Microsoft的好用,但是多年工作之後,才知道,Microsoft word,excel,只能用於windows的機子,你想在蘋果電腦上用,就得廢老大勁了。而網頁版的,他是跨平台的,你用習慣了,你在哪都是一樣用,而且可以在雲端保存資料。

隨著雲計算的誕生,業內也誕生了下面三種層次的服務

基礎設施即服務(IaaS),

平台即服務(PaaS)

軟體即服務(SaaS)。

我們可以把SaaS簡單理解為在雲端提供標準化產品的服務模式。由於其標準化,所以無論1個企業在用,還是100個企業使用,都是一個開發成本。這對產品在某個場景下的通用性要求非常高,但也極大的提升了產品在市面上的競爭力。企業採用SaaS模式在效果上與企業自建信息系統基本沒有區別,但節省了大量資金,從而大幅度降低了企業信息化的門檻與風險。許多SaaS企業都是提供按月按年的收費模式,這有別於之前軟體以項目化的形式,深受企業主喜歡,所以在接下來的十年中,也演變為一種主流的企業服務形式。

現在市面上有許多優秀的Saas企業,比如協作平台teambition,比如CRM領域的明道,比如文檔領域的石墨,比如表單領域的金數據等等,都是在saas領域做得特別好的企業。

八爪魚正是在雲計算與SaaS潮流的背景之下,首創了雲採集技術,並提供SaaS的運營模式。用戶只需在客戶端上傳採集規則,即可通過調用雲端分散式服務式進行採集,每一台雲端的伺服器均會按照採集規則進行採集。所以八爪魚團隊就給這種採集模式,取了個名叫」雲採集「


為什麼會誕生」雲採集「

在八爪魚出來創業的時候,市面上主流的採集器就是火車頭。火車頭他是以傳統軟體運營商的模式在運作,他主要是以賣授權碼的形式,想要在電腦上運行火車頭,就必須購買他的授權碼。就像我們早期用Word 2003、2007時,經常需要去網上搜索破解碼一樣。那時的火車頭,如日中天,但他僅僅只是一個客戶端軟體。

八爪魚創始人劉寶強keven,由於多年的外企與國外工作經驗,曾經也是某國際金融巨頭公司數據採集方向的研發工程師,他一心想要做出一款通用化的網頁採集產品來取代公司編寫的眾多採集代碼。他很清楚各種採集技術的優勢與劣勢,問題與瓶勁。

Keven在當時也知道火車頭採集器的存在,那時候的他,其實不敢想做出一款比火車頭更牛B的採集產品,因為對手實在太強大了,採集界無人不識。但他知道,超越競爭對手的,往往不是跟隨策略,而是應該顛覆,採用與他們完用不一樣的思路。

Keven分析,火車頭採集的是傳統的網路請求獲取數據的方式,走的還是http post ,get請求,這確實是當時進行網頁採集的主流模式,但這種模式複雜程度非常高,雖然火車頭已經做得夠簡化,但能理解這一套理論的,大多都是開發人員背景才有可能。他知道在大公司裡面,大部分做數據收集工作的人,都不是計算機開發人員背景,所以他給自已採集產品定位,要做一款普通人就會用的採集產品,通過界面的定位,拖拽,即可進行規則的配置。經過小半年的各項難關突破,還真被他給實現了。

但問題也隨之而來,由於是通過瀏覽器載入網頁然後再獲取數據的方式,這樣競品或許一個請求就可獲取到的數據,而八爪魚由於需要載入整個網頁可能得涉及上百個請求,這讓八爪魚在採集上,顯得速度就慢了。

解決了易用性的問題後產生了速度問題?

那怎麼解決?

如果有多台機子在雲端同時采,甚至對規則裡面的URL列表進行拆分,讓雲端的伺服器分散式同時進行採集,那就可以提升N倍以上的速度。這條路是可行的,但是這條路又帶來另外一個問題。

解決了速度問題後產生了成本問題?

那怎麼解決?

keven判斷,如果租用10台雲伺服器,通過共享經濟的概念,把成本平灘,其實每個用戶每個月僅需小几百塊錢的成本。而對於數據的價值,是遠遠大於這個投入的,應該會有用戶願意付費使用。成本問題應該不是大問題,而且隨著摩爾定律,硬體成本只會越來越低。事實如此,包括後期,八爪魚通過與騰訊雲,阿里雲的合作,相對低價的拿到一些折扣,幫助用戶將這塊的成本降到最低。

基於此,在2013年Q4,八爪魚首創了國內國外雲採集的模式。


為什麼八爪魚的雲採集才是真正的雲採集

其實雲採集就是這麼簡單的東西,就是通過對雲端採集伺服器的控制,為每台伺服器分配採集任務,通過指令控制其採集。那為什麼,只有八爪魚的雲採集,才是真正的雲採集。

  1. 多項技術難關突破

八爪魚在5年的運營過程,逐漸突破雲採集各項難題,這裡面的許多難題,在沒有大數據面前,其實都是不會出現的。我舉幾個例子:

  • 可以采,導不出

有一些項目,自吹自已擁有雲採集技術,但是實際試用的時候,他們就漏洞百出。比如我們可以控制100台伺服器採集數據,但如果只有一個數據存儲支持導出數據,那將會照成導出數據比採集慢100倍的困境。你只能眼見數據在庫里而無法動彈。

  • 可以采,但是錯亂

有一些人以為,有一些伺服器在雲端進行採集,就叫雲採集。但卻不知道這裡面成百上千台伺服器同時採集的時候,他背後需要大數據存儲解決方案。才能讓採集到的數據,一條不漏地存放在資料庫里。並且在後期方便檢索,查詢,導出。

  • 無法動態伸縮配置

由於採集的網頁數據狀態不一,雲採集是需要動態分配,並且做好許多事前工作。有時候一些網站他有防採集策略,你在採集之前,能否判斷出對方網站對你的一些措施與判斷,或者在採集過程中動態調整伺服器運行策略,這也是考驗一個優秀的雲採集解決方案。

2.持續性的提供穩定的採集與導出服務

八爪魚現在在全球擁有超過5000台以上的伺服器,現在每天採集與導出的數據,都是以T計算服務於全世界各語言各領域的採集用戶,對於企業級產品來講,除了技術外,能否提供穩定的運維是一大關健。

八爪魚有多個運維後台,隨時監測整個伺服器集群每個採集伺服器的狀況,在出現狀況的時候,靈活多開伺服器,調配伺服器,來讓客戶的採集生產環境與數據,保持相對的穩定。

這樣龐大的雲伺服器採集集群,是任何一個競爭對手所不能比擬的,並且在這個龐大的集群面前,八爪魚依然保持穩定的採集與導出的服務。

3.其他資質

八爪魚在中國大數據業內,連續三年在數據收集領域被評為第一,這也足以證明八爪魚在數據採集這領域長期的積累與貢獻。


推薦閱讀:

Salesforce 小知識 - 必需欄位
為保護版權雲盤就只能停止服務么?
一張圖看懂阿里雲在量子計算領域的布局
「雲計算」很複雜?其實,一個小故事你就能看懂...
智能蜂巢雲印表機是什麼意思?免費嗎?如何自動接單?

TAG:網頁爬蟲 | 八爪魚採集器 | 雲服務 |