754
gooseeker集搜客
可視化數據采集器import.io與集搜客評測對比(下)
大數據獲取平台import.io有四大功能特性:Magic, Extractor, Crawler, Connector。上篇我們對前兩個做了評測,並與中國的集搜客GooSeeker做了對比,本篇將評測剩下的兩個功能特性。
3. Crawler(import.io)VS 爬蟲路線(GooSeeker)
Crawler:Crawler直譯過來就是網絡爬蟲的意思,顧名思義,就是要向深度和廣度方向去擴展,以期采集更多數據。Crawler在Extractor的基礎上,實現了自動翻頁功能。假設要采集頁麵數為100的網頁數據,通過 import.io的Crawler功能就能一鍵將這100頁的信息采集下來,那麼具體的采集過程是如何實現的,下麵筆者帶你簡單了解一下Crawler的采集過程。
如圖5所示,以58同城租房信息為例,經過關鍵詞搜索共找到有N個頁麵的租房信息,為了提取這些租房信息。Crawler操作如下:
(1)采集樣本數據,在第一頁提取需要采集的數據(圖5),采集原理同Extracor,這裏就不再贅述。
圖5:Crawle提取數據示例
(2) 訓練數據集,進入第二頁(圖6),Crawler會自動采集第二頁數據(提取的字段同第一頁),再翻到下一頁,由於網頁的結構都沒有發生變化,Crawler同樣會自動采集,循環此訓練過程,當Crawler認為收集了足夠多的訓練集(據稱最多支持5個樣本)(圖7),訓練完成,點結束,保存,即可成功采集所有頁麵數據。
圖6:Crawle添加頁麵示例
圖7:Crawle訓練樣本完成
Import.io的Crawler訓練過程操作確實非常的簡單,易懂,隻需要多選擇幾個同結構的頁麵進行測試,相當於在告訴爬蟲,我就是要采集這些相似頁麵的信息,爬蟲在了解到這些需求後,就能把這些相同結構的信息采集下來,不過也會存在一些小問題,當某些字段發生細微的變化時,因為與前麵訓練要采集的數據不一樣,就會把這些信息給漏掉,所以Crawler比較適合結構十分固定的頁麵。
總結一下:
優點:靈活采集,操作簡單,采集過程可視化
缺點:繼承了Extractor的缺點,對數據結構化程度要求高
GooSeeker爬蟲路線:集搜客的爬蟲路線的實現是建立在整理箱的基礎上,原理與Crawler基本相似,但適應性更廣,帶來的負麵影響是操作相對複雜。
我們先回顧一下整理箱的建立理念,GooSeeker一直宣稱的是“建個箱子,把需要的內容丟進去”,理念很直接,把需要的網頁內容直觀地摘下來,存到一個箱子中。
如圖8所示,以采集京東手機信息為例,要想采集所有頁麵關於手機的信息數據,操作如下:
(1) 創建整理箱,把要提取的數據丟進去,抓取規則就能自動生成。但是,操作起來不是像這一句話這麼簡單,而是:
a) 建立一個整理箱,這個簡單,點下“新建”按鈕即可
b) 在整理箱中創建字段,這些字段稱為“抓取內容”,也就是網頁上的內容要丟到這些字段中
c) 在DOM樹上選中要抓的節點,映射給某個字段。
既然說“建個箱子,把需要的內容丟進去”,為什麼不真的可視化地做這個操作呢?這個地方需要改進,敬請關注即將發布的新版本提供的直觀標注功能。
(2)構建爬蟲路線,將“下一頁”作為記號線索進行映射(如圖8所示),設置完成,保存後,就能自動采集所有頁麵的信息了。這個過程雖然說起來很簡單,但是相對Crawer,操作起來還是有一點不直觀,需要做幾次簡單的映射,也就是告訴爬蟲:”這裏是我要點擊的“,”這裏是我要摘取的“,如下圖,主要操作是對著HTML DOM數做的,用戶最好有簡單html基礎,這樣就能很精確地定位到DOM節點,而不局限於可見的文字。
圖8:爬蟲路線翻原理頁示例
優點:采集準確度高,適用範圍廣。
缺點:可視化效果一般,上手需要一個學習實踐。
綜上,Import.io的Crawler和GooSeeker的爬蟲路線主要完成網絡爬蟲擴展爬行範圍和深度的任務,上麵我們僅以翻頁為例,層級爬行大家自己去實踐體驗。Crawler操作相對簡單,但適應性也較窄,對網站結構一致性要求高,而爬蟲路線功能相對更為強大,能適應各種複雜的網站,但操作也相對複雜。
4. Connector(import.io)VS 連續點擊(集搜客)
Connector: import.io的Connector就是在網頁上做動作,主要是針對網址無變化,但信息在深層次頁麵上。需要做了動作以後才能顯示出來,但是頁麵的網址又不發生變化,這就大大增加了采集數據的難度,因為即使配置好了規則,結果爬蟲進入的頁麵是初始頁麵,無法采集到目標信息,而Connector的存在就是為了解決此類問題。Connector可以記錄這一點擊過程,進而采集到目標頁麵的信息。
同樣以58同城租房信息為例來測試Connector功能的可操作性。
(1)通過點擊,查詢到需要采集的信息所在的頁麵。如圖9所示,Connector可記錄用戶每次的點擊行為。
圖9:Connector操作示例
(2)在目標頁麵建立規則,提取信息。到達目標頁麵後,需要做的操作就跟前麵的一樣了,把需要采集的信息提取出來。
通過親自動手實踐,發現連續點擊失敗率比較高,如果是搜索的話,這一動作很容易被記錄下來,但是如果僅僅是點擊動作的話,很難被記錄成功。可能的話,讀者可以親自試試,看看到底是什麼原因導致的。
是否有些似曾相識的感覺?沒錯,有點像web測試工具,把動作錄下來,再回放,用戶體驗很好,時不時出現記錄不成功,看來是有些代價的,我估計還是定位不準的問題,當你記錄的時候和後來去執行的時候,網頁HTML DOM的稍微變化,就可能把動作做錯位置了。
優點:操作簡單,采集過程完全可視化。
缺點:點擊動作最多隻能點擊10次,功能相對單一。同時從使用情況來看,Connector的記錄功能失敗率較高,很多時候都會操作失敗,可能是直觀可視化的代價。
GooSeeker連續點擊:集搜客連續點擊功能完全一樣,正如其名字一樣。實現邊點擊、邊采集的功能,結合爬蟲路線,可產生更強大的采集效果,這個算集搜客比較高級的功能了,能產生很多意想不到的采集方式,這裏簡單舉例介紹
如圖10所示,要采集微博個人相關信息,因為這些數據必須將鼠標放到人物頭像上,才能將這些信息展現出來,所有需用到集搜客的連續點擊功能。操作如下:
(1) 采集目標字段,首先對網頁定位,將這些要采集的字段采集下來,方式同上,不再贅述。
(2) 設置連續動作,在執行采集之前,可以做一連串動作,所以稱為“連續”。不如https://import.io的直觀錄製那麼簡便,需要點擊“創建”按鈕,創建一個動作,指定它點擊哪裏(一個網頁節點,用xpath表示),並指定是哪類動作,根據需要設置一些高級選項。
(3) 如圖11所示,GooSeeker也相當於記錄一組動作,也可以重新排序或者增刪,圖11可見,就沒有https://import.io的類似錄製過程的界麵那麼親民。再一次看到GooSeeker的特點:嚴謹的生產工具
圖10:連續點擊操作示例
圖11:連續動作的編排界麵
優點:功能強大,采集能力強。
缺點:上手難度較大,操作相對複雜。
綜上,import.io的Connector在操作方麵依舊是秉承它一貫的風格,簡單易用,而集搜客也同樣再次給人“一個生產工具”的感覺,在連續動作這個功能點上,兩者基本一致。
通過以上對比,相信大家對大數據采集軟件import.io和集搜客有了一個直觀的了解。從各個功能對比上來看,https://Import.io的特點主要體現在可視化,易學,操作簡單,致力於打造純傻瓜式操作的采集軟件。而集搜客的特點主要體現在半可視化、功能完善、采集能力強,致力於為用戶提供完善強大的數據采集功能。總之兩者各有千秋,都是非常不錯的數據采集軟件。
最後,有興趣的讀者可以去深入體驗和研究,因為兩者宣稱的價值其實不僅僅是一個軟件工具,而是目標放在“互聯網數據的結構化轉換,把web變成大家的數據庫”。希望未來有機會再分享一下這方麵的心得
若有疑問可以或
最後更新:2017-01-09 14:08:08