網頁爬蟲是很早的名詞,對吧?目的就是有一個程式在特定網站爬取其數據,像是 Google 搜尋引擎會透過爬蟲不斷爬取各個網站的網頁資料。不過,但是當網頁技術開始走向動態時(你可能聽過 AJAX ),網站就會變得非常動態,因為網站會根據用戶操作行為即時更新跟伺服器取得資料,接著在客戶端載入呈現。這就不是很簡單的網頁爬蟲能處理的,而是需要深度爬蟲就派上用場了,因為不單單只是抓取看到的數據; 還涉及到需要與網站互動,點擊按鈕,填寫表單等才能顯示我們想要的數據,這基本上就等同於是在玩躲貓貓一樣。
什麼是深度爬取 (Deep Scraping)?
深度爬蟲 (Deep Scraping) 是一種進階的網頁爬取技術,專門用來擷取隱藏、動態載入或受限制的數據,與一般的網頁爬取(Web Scraping)相比,它能深入網頁結構、處理更複雜的情境,確保可以取得完整的數據。
一般爬取 (Scraping) vs. 深度爬取 (Deep Scraping)
對比項目 | 一般爬取 | 深度爬取 (Deep Scraping) |
---|---|---|
適用對象 | 靜態網頁,HTML 結構清晰 | 動態網頁、登入後頁面、API 受限頁面 |
技術需求 | BeautifulSoup、Scrapy | Selenium、Puppeteer、Reverse Engineering |
數據來源 | HTML 原始碼 | AJAX、JavaScript 動態渲染、API 呼叫 |
反爬機制 | 通常沒有或較弱 | 需要繞過 Captcha、IP 限制、Session Token |
應用場景 | 基本數據擷取,如新聞標題、部落格文章 | 需要登入或與篩選器互動才能存取的數據,如社群平台、商業情報 |
聽起來很難對吧?不用擔心,Growise AI 是專門為不懂程式語言的人所設計的爬蟲產品,透過 Growise AI 只需要透過所見即所得,就能夠掌握從動態網站完成深度爬取,讓我們開始吧!
如何透過 Growise AI 完成深度爬取呢?
我們先來想像一個擷取流程:
- 建立一個爬蟲去擷取一個有清單的項目資訊
- 並且點擊每個項目都可以打開一個新頁面,新頁面有該項目的詳細資訊,我們需要建立一個爬蟲來擷取這些詳細資訊。
- 接著返回主列表,再對清單內的其他項目繼續重複上面第二個步驟。
可是,如果出現了這個清單還沒有全部顯示,需要透過換頁才能夠得到的話,那又得考慮怎麼開發換頁的方法,這開發複雜度與運行效率可能會非常低。這就是為什麼 Growise AI 提供了一個比自己撰寫 Python 更好的替代方案,我們可以通過連接兩個爬蟲機器人,一個用於擷取清單上的每一個項目,並且透過換頁擷取所有的清單,接著另一個爬蟲機器人則用於進入各個項目的詳細資訊頁抓取。
現在,讓我們用步驟說明如何同時抓取多個網頁,我們的情境是在 Linkedin 上,搜尋 “台灣”的台灣公司,抓取其清單後,在抓取每一個公司的貼文網址,接著抓取貼文 :
步驟 1:設置第一個爬蟲機器人
我們先建立第一個爬蟲機器人,請輸入你想要抓取 Linkedin 公司清單的 URL,點擊擷取網頁按鈕。
如果你是第一次使用 Growise AI 會需要安裝 Chrome 插件。只需在進入 Growise 後系統就會自動偵測是否有安裝。
接下來,你會看到你想要抓取的頁面和爬蟲機器人。爬蟲機器人會詢問你想要擷取的是單頁文字還是清單資訊,在這案例中我們選擇清單資訊,你需要幫助爬蟲機器人完成清單定位確認你想抓的是哪一個清單,完成清單定位後,可以幫擷取的欄位命名。
接著需要設定換頁,下方有一個換頁選項,由於網頁上有一個 Next 下一頁按鈕,我們選擇 Next Page Pagination,並設定要換幾頁。儲存設定後回到爬蟲列表,你可以執行爬蟲並查看擷取數據,確認其是否如你所要的完成擷取(可下載 csv); 如果需要更改則重新訓練你的爬蟲機器人。
步驟 2:建立第二個爬蟲機器人
第二個爬蟲機器人要抓取清單內每個項目的詳細頁面資訊,請按照與建立第一個機器人相同的步驟進行。但這次,我們提供 LinkedIn 上特定公司頁面的 URL 並選擇擷取單頁文字類型,將這頁面要抓取的資訊都完成設定
步驟 3:建立第三個爬蟲機器人
第三個爬蟲機器人要抓取第二個機器人的 Post 網址內的最新貼文資訊,請按照與建立第二個機器人相同的步驟進行設定,但選擇貼文上的資訊擷取。
步驟 4:串連三個爬蟲機器人進行深度爬取
有趣的來了,你可以串連這三個爬蟲機器人,將三個不同網址與不同擷取需求全部串連在一起,就能批次抓取所有公司的所有資訊。首先進入 Workflow,將這三個爬蟲機器人按照執行選取使其串連在一起。要記得喔,第二個爬蟲機器人的網址來源,是要從第一個爬蟲機器人的 URL 欄位取得; 第三個爬蟲機器人的網址來源,則是來自於第二個爬蟲機器人的 URL 欄位取得。完成設定後,回到 Workflow 列表,執行剛設定好的 Workflow,Growise AI 就會自動執行串連在一起的三個爬蟲機器人。
完成執行後,可以前往個別的爬蟲機器人查看擷取數據,並輸出至 CSV 或 Google Sheet。
相信透過以上,大家就能清楚知道深度爬取的技術並不容易,但透過深入了解 Growise AI 在動態網站進行深度爬取的作法,可以大幅降低需求開發的複雜度與維護。希望這個教學能幫助你,我們相信有大量數據正在等待被你發現,只要採用正確又簡單的方法,你就能取得你想要的資訊,畢竟我們相信你的目的不是要學習 Python,而是要資料再利用。如認為 Growise AI 對你有幫助,請與我們聯繫!