網頁爬蟲技術是在資料收集很普遍的技術,除了資料收集,也常被開發者用來做自動化的應用,例如使用爬蟲收集特定商品的特價資訊,然後主動發出通知,這堂課也會教你如何處理使用 Javascript 產生的網頁內容和內含表單的網頁要如何抓取資料 ( 例如到 Agoda 搜尋住宿資訊前要先填表單,送出後才能得到要抓取的資料 ) ,會了這一招,等於也可以用同樣的技術做網站自動化整合測試
從這 2 小時的課程,你會學到
- 知道如何使用 JavaScript 進行資料探勘
- 能夠獲取、下載和保存網站資料
- 了解如何使用 CasperJS 和 PhantomJS
- 將你所學到的知識應用於前端測試
- 開發自己的 script 來抓取資料
- 更好地了解函數程式設計( Functional Programming )
- 充分了解 JavaScript 和 jQuery 選擇器
要求
- 你應該已經很熟悉 JavaScript 基礎知識
- 知道初級的 jQuery 語法將有幫助
說明
在本課程中,你將學習如何使用 CasperJS 從網頁上抓取資料。
本課程由 5 個範例專案構成,以幫助你充分了解使用 CasperJS API 的無用戶介面瀏覽器的功能。
你會學到什麼
你將深入了解進階的網頁抓取概念,並深入了解如何使用 CasperJS 進行測試 DOM 操作和 UI 互動。
你可期待什麼
- 我們將從 PhantomJS 和 CasperJS 如何運作的概念說起,包含如何安裝這些框架。
- 接下來,我們將討論我們的工作流程,以及我們可以傳入Casper 物件的選項。
- 我們將實作五個專案以深入本課程的精華
專案將包含
- 如何抓取使用 Javascript 產生的網頁而不是用標準 HTML 產生的網頁內容
- 如何等待 AJAX 載入後出現的資料後再抓取網頁元素
- 如何提交用於授權和進行搜尋的表單
- 如何定義瀏覽的步驟 – 如登入一個網站、點擊擊一個按鈕並且進行連結
- 如何在表格中寫入並保存指定的資料,然後輸出為.html 檔案或是 JSON 資料。
- 以及如何抓取完整網頁和特定容器的截圖
什麼是 PhantomJS?
PhantomJS 是一個使用無用戶介面的瀏覽器的完整 Web Stack。 Phantom 讓我們有能力在網頁上執行許多有趣的操作,例如:執行網頁操作、模擬使用者互動以及動態抓取和保存網站資料的能力。
什麼是 CasperJS?
CasperJS 是一個獨立的框架,建構在 Phantom 之上,與大多數操作系統相容。本課程的重點將放在 Casper API 上,我們將使用這個 API 來編寫我們所有的網頁抓取腳本程式。
學前必知
你應該已具備 JavaScript 基礎知識。包括什麼是 callback 函數。如果你知道一些 jQuery 將有幫助。我們在本課程範例中使用 lodash,但僅作為原生的 JavaScript API 中的一部分內建 Map 方法的替代。
目標受眾
- 如果你有興趣成為更好的 JavaScript 開發人員,那麼你應該參加本課程。
- 本課程爲已熟悉 JavaScript 基礎知識的人設計。不需要有 PhantomJS 或 CasperJS 的先修知識。
講師介紹
Patrick Schroeder 軟體開發者
Patrick Schroeder是一名自學的全端 JavaScript 開發者。他享受 Angular、Node.js、Mongodb、React.js、Firebase 和任何其它 JavaScript 相關的工作。 Patrick 熱衷於教授 JavaScript 。 他喜歡通過創作清楚的簡報,逐步把訂定的主題建構,來幫助別人理解困難的概念。他也非常有興趣近一步瞭解物聯網和可穿戴產品的知識,教授尖端技術並協助新產品帶入人類的生活。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- 點選這個 Network & Security 課程✨優惠連結✨ ( NT370 起限時特價中 ) | Udemy 永久擁有課程 ( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

你必須登入才能發表留言。