數據采集工具:八爪魚
目錄
一.八爪魚介紹 二.安裝八爪魚 三.采集原理 四.快速入門 五.登陸 六.基本排錯 七.提取、導出數據
一.八爪魚介紹
八爪魚是一款通用的網頁數據采集器,能夠采集98%的網頁。 可簡單快速地將網頁數據轉化為結構化數據,存儲為EXCEL或數據庫等多種形式,並且提供基於雲計算的大數據雲采集解決方案。 八爪魚作為一款通用的網頁數據采集器,並不針對於某一網站某一行業的數據進行采集,而是網頁上所能看到或網頁源碼中有的文本信息,幾乎都能采集。
官網:https://www.bazhuayu.com/
二.安裝八爪魚
1.進入官網注冊,因為下載使用要登錄才能使用各項功能。 2.請雙擊OctopusSetup.exe開始安裝。 3.安裝完成后在開始菜單或者桌面均可以找到八爪魚采集器快捷方式。 4.啟動八爪魚采集器並登陸。
安裝提示:
本軟件需要.NET3.5 SP1支持,Win 7已經內置支持,XP系統需要安裝,部分Win10系統可能也需要安裝。 軟件會在安裝時自動檢測是否安裝了.NET 3.5 SP1,如果沒有安裝則會自動從微軟官方在線安裝, 國內在線安裝速度很慢,建議先從:http://pan.baidu.com/s/1nu5VbTJ 下載安裝.NET 3.5 SP1,然后再安裝八爪魚采集器。
三.采集原理
八爪魚采集器的核心原理是:基於Firefox內核瀏覽器,通過模擬人瀏覽網頁的行為(如打開網頁,點擊網頁中的某個按鈕等操作),對網頁內容進行全自動提取。 內置火狐內核瀏覽器,模擬人瀏覽網頁、復制數據的行為, 通過設計工作流程,自動化采集數據。

四.快速入門
在八爪魚客戶端中,采集和導出數據主要經過以下3個步驟:
1、選擇采集模式
2、配置任務
3、配置完成后,選擇采集方式,本地采集或雲采集
4、采集完成,導出數據
選擇采集模式
簡易模式下內置了國內一些主流網站的采集規則。如果要采集的網站和字段在簡易模式的模板中,可直接調用。
注意:可自定義修改參數,以采集所需數據。
建議:
如果不能確定需要多少頁數據,建議打開網站看一看每頁數據量做簡單計算后設置,如果還是不能確定,建議稍微多設置一點翻頁,因為多采集的數據可以在Excel當中進行刪減,如果少采集了數據,簡易模式下只能從頭開始重新采集。
智能模式下,只需要輸入網址,點擊搜索,八爪魚便會自動采集網頁數據並以表格形式呈現出來。可以進行刪除或修改字段、翻頁、數據導出等操作,以excel格式導出。
試用情況:網頁中數據以表格或列表形式呈現的網頁。例如電商網站商品列表的商品信息、一些生活服務類的網站等等。
此外,智能模式還可以輸入關鍵詞搜索數據。比如搜索“天氣”,點擊查詢后,可以跳轉到數多多規則市場。在數多多上可以直接查找到相關的數據或規則。用戶可以通過下載,獲取數據或規則,規則可以放到八爪魚中運行,以獲取想要的數據。
向導模式,通過簡單易懂的語言,指引用戶熟悉網頁結構,認識八爪魚采集流程。通過向導模式,可明白規則配置的方法和八爪魚采集器的采集思路 在智能模式、簡易模式不能滿足需求的時候,建議優先使用向導模式,使用熟練后可以使用自定義模式進行采集,采集更自由、更效率。 示例網址: https://coll.jd.com/list.html?sub=13321 https://coll.jd.com/list.html?sub=13322
自定義模式是八爪魚用戶使用最多的一種模式,需要自行配置規則,可以實現全網98%以上網頁數據的采集。經過采集原理講解與向導模式試煉,我們大致理解了八爪魚采集數據的邏輯,接下來需使用自定義采集模式,自行配置規則,抓取網頁數據。
使用自定義模式配置規則,抓取數據,涉及打開網頁、建立循環列表、建立翻頁循環、配置字段、啟動采集等多個基礎操作。
配置任務
流程步驟:在八爪魚采集器中,一共有11個流程設計操作
其中分為常用步驟和進階步驟
常用步驟:1)打開網頁
2)循環翻頁
3)循環列表
4)點擊元素
5)提取元素
進階步驟:1)輸入文字 2)識別驗證碼
3)切換下拉選項 4)判斷條件
5)移動鼠標到元素上 6)結束循環
7)結束流程
選擇采集方式
本地采集(單機采集),即使用自己的電腦進行采集。 可以實現絕大多數網頁數據的爬取,可以在采集過程中對數據進行初步的清洗。如使用八爪魚自帶的正則工具,利用正則表達式將數據格式化,可在數據源頭實現去除空格、篩選日期等多種操作。 其次八爪魚還提供分支判斷功能,可對網頁中信息進行是與否的邏輯判斷,實現用戶篩選需求。
雲采集,是使用八爪魚提供的雲服務集群進行數據采集,不占用本地電腦資源。當規則配置好之后,啟動雲采集,可關掉自己的電腦,實現無人值守。 功能:定時采集,實時監控,數據自動去重並入庫,增量采集,自動識別驗證碼,API接口多元化導出數據。 速度:利用雲端多節點並發運行,采集速度將遠超於本地采集(單機采集)。 防封:具有多節點,多IP,可避免網站的IP封鎖,實現采集數據的最大化。
入門練習
單網頁數據采集 ►單網頁 示例網址:http://www.skieer.com/guide/demo/simplemovies2.html ►單網頁列表 示例網址:http://www.skieer.com/guide/demo/genremovies2.html ►單網頁列表詳情 示例網址:http://www.skieer.com/guide/demo/navmovies2.html 分頁數據采集 ►分頁列表 示例網址:http://www.skieer.com/guide/demo/genremoviespage1.html ►分頁列表詳情 示例網址:http://www.skieer.com/guide/demo/moviespage1.html
分頁列表數據采集
1.點擊自定義采集

2.輸入網址:https://www.bazhuayu.com/tutorial/hottutorial

3.構建分頁,點擊分頁的下一頁,循環點擊單個鏈接
4.構建列表,連續點擊兩個標題,然后點擊循環點擊每個元素

4.設置采集數據字段,點擊標題,時間和閱讀量,獲取標簽內容

5.查看流程

6.最后點擊開始采集,選擇本地采集,導出數據
注意事項
在不同網頁中,同一步驟,操作提示框中出現的提示可能不同 因網頁源碼不同,同一個步驟中,操作提示框中出現的提示可能稍有不同,但邏輯是一樣的,請大家靈活處理 例:以循環翻頁為例,“循環點擊下一頁”、“循環點擊單個元素”、“循環點擊單個鏈接”從本質上是一樣的,都是不斷點擊翻頁按鈕進行翻頁,但因網頁結構不同,提示稍有不同 創建循環的兩種方式,具有特殊情況 ►常見情況 列表采集:選中一個元素-選中子元素-選中全部-采集數據 列表及詳情采集:選中一個鏈接-選中全部-循環點擊每個鏈接 ►特殊情況 但有些網頁會有特殊情況,需要我們靈活處理,具體請看此視頻教程: 分頁采集和創建循環的兩種方式 http://www.bazhuayu.com/tutorial/fenyecaiji 八爪魚支持嵌套循環,不支持並列循環 ►針對同一頁面只能建立1個循環列表 存在想要采集列表數據,也想要采集詳情頁數據的情況,錯誤做法:建立2個循環循環列表 正確做法:建立1個循環列表,循環中包括“提取列表頁數據”和“點擊元素”步驟
五大循環方式
URL循環 文本循環 單個元素循環 固定元素列表循環 不固定元素列表循環
URL循環
適用情況:在多個同類型的網頁中,網頁結構和要采集的字段相同。 示例網址: https://movie.douban.com/subject/26387939/ https://movie.douban.com/subject/6311303/ https://movie.douban.com/subject/1578714/ https://movie.douban.com/subject/26718838/ https://movie.douban.com/subject/25937854/ https://movie.douban.com/subject/26743573/ https://movie.douban.com/subject/20451290/ https://movie.douban.com/subject/26816383/ https://movie.douban.com/subject/26260853/ 點擊自定義任務,每條url空行
文本循環
適用情況:在搜索框中循環輸入關鍵詞,采集關鍵詞搜索結果的信息。 示例網址:https://zhidao.baidu.com/ 注意事項:有的網頁,點擊搜索按鈕后,頁面會發生變化,數據采集異常,則打開網頁步驟需放在文本循環內 示例網址
單個元素循環
適用情況:需循環點擊頁面內的某個按鈕。例如:循環點擊下一頁按鈕進行翻頁。 實現方式:通過單個元素循環方式,達到循環點擊下一頁按鈕進行翻頁目的。 定位方式:使用xpath定位,在當前頁始終能定位到下一頁按鈕。 示例網址: http://www.bazhuayu.com/tutorial/gnd
固定元素列表循環
適用情況:網頁上要采集的元素是固定數目的。1)每一頁的元素數目固定;2)采集特定數目的元素。 實現方式:通過固定因素列表循環,循環頁面內的固定元素。 定位方式:使用xpath定位,一條xpath對應循環列表中的一個元素。 示例網址: http://www.bazhuayu.com/tutorial/gnd
不固定元素列表循環
適用情況:網頁上要采集的元素不是固定數目。每個頁面上元素數目不固定:一頁存在同類元素7個,另一頁存在同類元素10個...... 實現方式:通過不固定因素列表循環,循環頁面內的不固定數目的元素。 定位方式:使用xpath定位,一條xpath對應循環列表中的全部元素。 示例網址: http://weixin.sogou.com/ http://sz.58.com/?utm_source=link&spm=u-LscBIm_2J9tMeMj.psy_111
五.登陸
文本輸入及點擊登錄 cookie登錄 ★登錄注意事項:iframe框架
文本輸入及點擊登陸
在八爪魚中,做一個輸入用戶名、密碼的登錄流程,先在登錄網址中輸入用戶名、密碼登陸進去,然后打開要采集數據的網址進行數據采集。 登錄網址:https://login.tmall.com/ 要采集數據的網址:https://list.tmall.com/search_product.htm?q=%C1%AC%D2%C2%C8%B9&click_id=%C1%AC%D2%C2%C8%B9&from=mallfp..pc_1.1_hq&spm=875.7931836%2FB.a1z5h.2.vxUxbA
cookie登錄
cookie登錄是指:通過記錄cookie,登錄網站以進行數據采集。 cookie是:某些網站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。經過方法一后,一個輸入賬號密碼,登錄進網站的登錄流程已經做好,產生了登錄cookie。八爪魚中內置了記錄cookie的功能,可通過獲取登陸后的cookie來記住登陸狀態,以達到采集數據的目的
使用cookie登錄有一點需要注意:cookie是有生命周期的,這個周期多長時間取決於采集的網站,如果cookie到期了,就需要再重新獲取一次登陸之后的cookie。另外。 如果需要切換賬號,可以勾選打開瀏覽器前清理緩存,然后再取消cookie,重新設置其他賬號即可。
登錄-iframe框架
Iframe框架是什么 有些網站的登錄框其實是iframe的登錄框。 iframe即html標簽,會創建包含另外一個文檔的內聯框架(即行內框架),含義是網頁中的網頁。 如何查看網頁使用了Iframe框架 借助火狐瀏覽器來查看。 1、將網頁在火狐瀏覽器中打開 2、將鼠標移至天貓登錄框,右鍵右擊后選擇“此框架”>>“在新標簽頁中打開框架” 具體請查看教程:http://www.bazhuayu.com/tutorial/cookdenglu
驗證碼登錄
驗證碼登陸-設置執行前等待方法 驗證碼登陸-控件識別方法 驗證碼登陸-cookie登錄方法
驗證碼登錄-設置執行前等待
對“點擊登錄”步驟,設置執行前等待。設置之后,當運行到這一步的時候,會等待一段時間,給我們手動輸入驗證碼。 通過設置執行前等待,可解決 1)輸入驗證碼;2)其他驗證方式,如滑塊驗證。 示例網址:http://www.bazhuayu.com/login 所有版本可用 只能用於本地采集,不能用於雲采集
驗證碼登錄-控件識別
除了設置執行前等待外,八爪魚內置的控件識別,可識別網頁上的驗證碼,從而進行數據采集。 適用情況為:具有輸入驗證碼的框的網頁。 示例網址:http://www.bazhuayu.com/login 支持本地采集和雲采集 旗艦版以上可自動識別,需另購驗證碼套餐
驗證碼登錄-cookie登錄
在使用了設置執行前等待或者控件識別后,網頁處於登錄狀態,此時可以使用cookie登錄方法。
cookie登錄是指:通過記錄cookie,登錄網站以進行數據采集。
cookie是:某些網站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。經過方法一后,一個輸入賬號密碼,登錄進網站的登錄流程已經做好,產生了登錄cookie。八爪魚中內置了記錄cookie的功能,可通過獲取登陸后的cookie來記住登陸狀態,以達到采集數據的目的
