1. 程式人生 > >小白30分鐘學會網頁采集基礎教程

小白30分鐘學會網頁采集基礎教程

網頁采集

首先,以某個多頁(需要自動翻頁)表格數據的采集為例,先演示一次網頁采集的完整的過程:


點擊從頭播放完整動圖
技術分享圖片


演示這裏使用的是八爪魚,依次點擊表格某一行的每個字段,可以自動識別出其他所有數據行,並自動創建循環列表;點擊翻頁按鈕,選擇“循環點擊下一頁”動作,就能自動創建翻頁循環。


網頁信息爪取相關的工具有很多,有需要代碼配合使用的,也有幾乎不用代碼的。其實實現網頁采集所用的代碼越少,效率越高,維護起來越簡單。今天以八爪魚為例,演示這個工具的一些基礎知識:

1:基礎操作
1.1 新建任務

點擊從頭播放完整動圖
技術分享圖片



1.2 導入規則

點擊從頭播放完整動圖
技術分享圖片


制作好的規則是可以導出和導入的。規則文件是.otd後綴的文件,在安裝了八爪魚的系統中,雙擊可以啟動導入;也可以在軟件裏批量導入。


1.3 切換瀏覽器內核(手動或自動)

點擊從頭播放完整動圖
技術分享圖片



1.4 定時自動啟動演示

點擊從頭播放完整動圖
技術分享圖片


在電腦上將任務設置完成並提交到雲服務執行雲采集之後,可以關閉軟件,關閉電腦進行脫機采集,真正的實現無人值守。除此之外雲采集通過雲服務器集群的分布式部署方式,多節點同時進行作業,可以提高采集效率,並且可以高效的避開各種網站的IP封鎖策略。

2:基本步驟
2.1 打開網頁
點擊查看“打開網頁”步驟的動圖演示
在第一步填寫網址的文本框中,可以設置上萬條網址,實現批量操作。
在分布式雲采集中,單線程單機采集完成1個網頁的時間,分布式可完成6-10個網頁抓取,相當於6-10臺電腦同時運行;
在分布式私有雲中,這個速度可以提高到30~100倍。相當於1小時完成最慢30個小時最快100個小時的采集量。換成數值的話,單機采集1萬數據的時間,私有雲可以完成約30萬~100萬。


2.2 點擊元素(和自動循環翻頁演示)
點擊查看“點擊元素”步驟的動圖演示
在內置瀏覽器中點擊網頁任意位置,都可以選擇“點擊”操作,在采集流程中自動生成一個點擊步驟。
如果,自動生成的點擊步驟不能準確點擊到元素,也可以手動修改Xpath,像上面演示中,在“自定義”選項中進行修改。
XPATH的使用方法可以參考另一篇文章《八爪魚在哪裏設置xpath》

2.3 提取數據
動圖演示某汽車銷售公司列表網頁數據的抓取過程
演示中,我們需要自動地提取出列表中,每一個公司的信息。
當點擊公司名稱的時候,程序自動識別出其他公司(其他公司名稱底色加深了),並提示“其他15個同類元素”,選擇“選中全部”操作,就能自動為每個公司的數據生成循環自動處理。
不妨找一個類似的網頁試試看,比如汽車之家等網站。

2.4 自動輸入文本
網頁中,一般文本框都是input元素或者textarea元素。如果點擊某個文本框,沒有“輸入文字”操作可以選擇,不妨多試幾次,可能是沒有點準這個INPUT 或 textarea元素。
點擊查看“輸入文本”步驟的動圖演示

還可以設置一個文本列表,自動循環批量輸入文本
點擊查看循環“輸入文本”步驟的動圖演示

2.5 鼠標懸停
有些動態加載,鼠標放上才會加載並顯示內容的情況,就需要“鼠標懸停”功能來實現。如下圖:
動圖演示淘寶動態加載店鋪評分的采集
淘寶網搜索結果中,店鋪三項評分是鼠標放上動態加載的,ajax延時設置為1秒,如果本地網絡條件不好,1秒不夠加載的話,可以設置的更長一點。
鼠標懸停不是常用的功能,可能不是特別好理解,建議感興趣的話,拿來淘寶網頁實際模仿一下。

2.6 判斷條件
點擊查看“判斷條件”步驟的動圖演示
演示中循環打開兩個網頁,分別是“百度網”和“新浪網”。
手動添加一個“判斷條件”模塊,設置上條件,使程序自動區分不同的網站。

以上就是常用的幾種基本步驟。對於新手入門學習,一般可以滿足需求了。

抓到的數據還可以直接進行可視化分析、文本語義分析,讓文字“說話”:

點擊從頭播放完整動圖
技術分享圖片


更多實例演示,我都放在另一篇文章裏了:《一大波可視化網頁采集完整過程記錄 新手也能一看就會》


小白30分鐘學會網頁采集基礎教程