fbpx

使用 PhantomJS 和 CasperJS 開發網站爬蟲程式

網頁爬蟲技術是在資料收集很普遍的技術,除了資料收集,也常被開發者用來做自動化的應用,例如使用爬蟲收集特定商品的特價資訊,然後主動發出通知,這堂課也會教你如何處理使用 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 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


你可能會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

Powered by WordPress.com.

Up ↑