2023 新版課程已上線,已經購買 hahow 課程的學員,可填寫此表單索取新版課程折價卷
註:本課程為 2017 年錄製,部份課程影片因為各大網站/服務變動的關係,影片內容可能過時/失效。但教材程式碼部份會不定時更新修正,購課前請參考教材目錄,確認教材符合您的學習需求。
打造你自己的網頁爬蟲
網頁爬蟲簡單來說,就是透過寫程式與網站溝通以取得自己需要的資訊。平常我們在電腦上瀏覽網頁,就是透過瀏覽器這支程式與網站溝通,瀏覽器會解讀網站回傳的資料後呈現給使用者。如果你常常需要
- 連上網站取得最新消息 (例如論壇的最新貼文,商品的最新價格等)
- 從不同網站收集類似資訊 (例如比價)
- 從網站複製貼上大筆資料 (例如幾十頁的表格)
你可能會好奇是否有自動化的方式能夠節省重複操作的時間,而「網頁爬蟲」就是你正在尋找的答案!這堂課會深入淺出地教你如何打造自己的網頁爬蟲,你將學到如何使用最常見的兩種方式:要求網頁文件與呼叫網站 API,取得並解構、儲存所需資料。透過實戰範例,加上專題練習,課程將涵蓋八成以上常見的爬蟲技術,若募資達標,還會再額外加開各種進階技巧的解說。
另外,若你有一些粗淺的 Python 經驗,想找一個專案來練習的話,網頁爬蟲是你最好的選擇,因為它入門容易,不論是學習過程或學習成果都容易有成就感,再說了,有誰不想自動化生活的瑣事呢?最後,網頁爬蟲更是資料收集的一個重要管道,也是資料科學與資料分析的第一步。
實戰範例
我們的課程會包含多個實戰範例,例如 PTT Beauty 版圖片下載器
Yahoo 奇摩電影網頁爬蟲
兩大報當日焦點新聞爬蟲
imdb 電影資料庫爬蟲及 API 教學
及 facebook Graph API 等實作。在募資期間,同學們也可以提出目標網站,我們將列入教學參考。
課程單元介紹
- 環境設定與網頁爬蟲初探,包含 PyCharm 設定,virtualenv 設定,BeautifulSoup 等套件安裝,爬蟲初探與例外狀況處理等
- 網頁解構與 BeautifulSoup 講解,包含寫爬蟲之前的注意事項,BeautifulSoup 重要功能如 find(), find_all() 講解,網頁結構巡覽 (siblings, parents, children) ,正規表示式教學等
- 網頁爬蟲實戰,包含以上各種範例的網頁爬蟲實戰教學,也會參考募資期間同學提出的目標網站
- 與 API 互動,包含 API 格式簡介,與多個實例介紹,包含 freegeoip.net, facebook graph api, imdb api 等,搭配 PTT 八卦板眾來源國家分布與 facebook 粉絲專頁資訊等實戰範例
- 資料儲存,包含要如何儲存圖片等多媒體檔案、儲存資料到 CSV 檔、儲存資料到資料庫 SQLite 等
- 各類型文件的爬蟲,你如果爬到非 UTF-8 編碼的文件,CSV 檔或 xml 檔等,該如何處理
- 期末專題 (手機比價程式)
- (已解鎖)(募資 200% 解鎖) 處理表單及登入頁,如何從 Chrome 開發者工具看到要送給網站的資料,使用 requests.post() 取得網頁資訊,搭配台灣證券交易所股票資料及空氣品質監測網等實戰範例
- (已解鎖)(募資 300% 解鎖) 處理動態網頁,如何使用 Selenium Webdriver 開啟並操作瀏覽器以取得網頁資料
- (已解鎖)(募資 400% 解鎖) 中文自然語言處理,包含 jieba 簡介,斷詞,自訂與繁體字字典,搭配如歌詞文字雲等範例
- (已解鎖)(募資 500% 解鎖) 爬蟲撰寫經驗談,包含常被網站封鎖的原因與解法,常見的網站安全措施的處理,如何更換代理 IP,講師推薦的補充教材等
課程特色
網路上有許多網頁爬蟲的教學文章與影片,它們都是很好的自學素材,但是這些素材多為片段,常常直接切入主題,沒有循序漸進的概念建構,本課程是針對網路爬蟲的完整教學,由淺入深,搭配實戰範例與專題練習,力求符合學生的需要。講者有各種網頁及手機 App 的爬蟲撰寫經驗,也會在課程中分享個人遇過的困難及處理經驗,解答學生的問題。
Pycone 松果城市 (粉絲頁) 團隊教學特色
- 我們的團隊來自一群愛好 Python 的開發者。當課程上有問題時,在課程問題與討論中提問,可以快速的獲得解答。
- 課程提供教材與所有範例程式碼,讓同學上完課可以自行練習
- 提供課程共同筆記,讓上課的同學可以互相幫忙整理上課內容,更有利於理解內容
- 當學習完所有課程時,透過實務專題練習的方式,使同學可以應用課堂所學
- 藉由課堂上的講解,使同學愛上 Python,並用 Python 解決問題
Pycone 松果城市其他開設課程
- Python 資料分析&機器學習入門 https://hahow.in/cr/pydataml
- 初心者-Python入門 https://hahow.in/cr/python-for-beginners
關於講者 Jun-Wei Lin
- 美國資訊相關博士班就讀中,研究領域為軟體測試自動化,曾執行包含網頁及手機 App 爬蟲實作的多個研究專案,也曾在知名國外研究機構及國內軟體公司實習
- 熱門開源程式 PTT 網路版爬蟲作者
- 多年政府資訊部門工作與介接政府開放資料經驗
- 講者個人網站:http://castman.net
