用爬蟲技術抓散落在網頁中的資料 - 什麼是非結構化資料?
在全球的多元網頁中,約有7成的資訊會整理成結構化或半結構化的資料。像是資料庫、Excel、csv、json 格式等等。但剩下 3 成缺乏組織的資訊,則會散佈在網頁中,這些就被稱為「非結構化資料」。
這堂課帶你了解如何抓取「非結構化資料」
在「Python 爬蟲入門特訓 ─ 資料抓取與處理應用」課程中,我們介紹了抓取結構化與半結構化的資料,也就是抓取資料庫、表格類、以及逗點或空格分隔等文字化資料。而本課程將再進一步介紹如何抓取不在表格內的資料,透過解析網頁中的 HTML、CSS 等標籤來抓取所需的資料。
除此之外,也會帶大家抓取大量圖片、Youtube 影片等等。再者,也會帶大家透過 Python 與 Line Notify 連結,來傳送訊息給 Line!
最後再帶大家學習如何模擬人的操作網頁方式,讓程式來自動操作網頁的運行。
大家好,我是王穎聰。過去我開設了《Python 入門特訓 - 基礎實作到證照攻略》、與《Python 爬蟲入門特訓 ─ 資料抓取與處理應用》課程,帶著大家打好 Python 基礎、建立基礎程式的撰寫能力;也讓大家學習基礎爬蟲技巧。延續著這兩堂課,本課程的開設目的是讓學習 Python 程式有興趣的人,能有連貫的學習與應用,我想帶著大家繼續鑽研爬蟲程式,並且強化非結構化資料抓取的技能。學習完本課程,幾乎要抓取全世界九成以上的網站都不是問題了!
這堂課適合學過 Python 基礎程式語法,並且學過 Python 爬蟲基礎套件(requests、pandas、matplotlib 等)的人。
- 如果你有興趣、還沒有學過 Python 基礎程式語法、還沒有程式基礎 ▶ 推薦你加入老師開設的初階課程《Python 入門特訓 - 基礎實作到證照攻略》,好好紮穩基底。
- 如果你還沒有學過 Python 爬蟲基礎套件(requests、pandas、matplotlib 等)▶ 推薦你加入老師的《Python 爬蟲入門特訓 ─ 資料抓取與處理應用》課程。
本課程涵蓋六大章節、共 360 分鐘,課程秉持一貫的手把手教學,邊編寫程式、邊解說原理,並且邊執行程式、邊觀察結果,能達到充分理解程式的意義與用法。且都是直接使用目前線上運行中的常用網站當範例,因此學完之後,有大部分都能運用在日常生活所需抓取的資料中。
章節一:課程的開釋
分析本課程與上一個課程抓取的差異點。另外講解兩個開發環境 Anaconda 與 Google Colab。其中 Anaconda 在 2022.05 的版本出現了重大問題,直到 2022.10 發佈了新版總算修改回來,在單元 2 中會特別說明,以免未來再發生狀況的應對方式。
單元 1 : 結構化、半結構化的表格資料,與非結構化資料的區別說明單元 2 : 安裝開發軟體與介紹介面章節二:讓「美麗的湯」來幫你抓網頁 HTML 語法中、特定特徵下的資料
了解 HTML 網頁的架構,進而透過 BeautifulSoup 套件來抓取網頁特徵標籤、抓到指定的文字內容或者網址,後面各章節的文字、圖片、Youtube 影音等就能輕鬆抓取。
單元 1:網頁的組成架構單元 2:Chrome 瀏覽器的開發人員模式單元 3:BeautifulSoup 套件的語法說明單元 4:新聞網的熱門新聞標題、以及超連結抓取單元 5:PTT 八卦版的資料擷取與聲量分析作業 1:其他新聞網的熱門新聞資料抓取章節三:圖片的抓取
透過 BeautifulSoup 找到圖片的網址,就可以抓取圖片。但有的網站會考量到網路流量問題,不會一次載入該頁面的所有資料(尤其是圖片),除非已經滑到該顯示頁面的近下方,才會再驅動抓取再之後的資料,這就是 Ajax 的技術,這就要觀察瀏覽器背後如何和伺服器互動,才能正確抓取到所需的資料。
單元 1:圖片的抓取與儲存單元 2:Line 貼圖的抓取單元 3:抓取具有 Ajax 特性的網站的圖片章節四:Youtube 影片的抓取
雖然目前影音平台眾多,但如無開發出相關的抓取套件也無法直接抓取該影片。Python 有 Youtube 影片抓取的套件。
單元 1:單一影片的抓取單元 2:播放清單的抓取章節五:Line 推播通知
Python 可以傳送訊息給 Line。因此如果像是股票玩「當沖」的朋友,就不必一直盯著股盤;可以設定規則,當股價來到指定的價格時,就寄通知給 Line 告知你當買當賣,你再做動作即可。
單元 1:Line Notify 的設定與加入好友單元 2:Python 傳送訊息給 Line Notify單元 3:抓取 Yahoo 奇摩股市的即時股價作業 1:抓取即時新聞傳送至 Line章節六:Selenium 網頁自動化爬取與操作
Python 的 Selenium 套件,可以抓取網頁的特定標籤,並直接對該標籤進行資料的填入、按鈕或超連結的點擊等,這對於要頻繁切換網頁、操作網頁、填寫或下載資料的人就輕鬆許多,特別是做網頁品管測試的人員來說,程式的自動操作、比起人為的操作更加準確也不煩倦呢!
單元 1:安裝套件、以及下載 WebDriver單元 2:取得網頁元素與操作網頁元素方法作業 1:自動網頁操作募資達 100% ▶ 早鳥 30 名限定!抽獎送【Code Judger 六個月體驗帳號】共 5 名!(市值 $1,500)
Code Judger 是由 Kyosei.ai 共生智能股份有限公司所開發之自動化批改及教學管理系統,讓學生們在解題中學習,獲得成就,整合題庫與課程概念,為學習程式的學員、解題挑戰者以及程式教師提供最佳化的課程與題目管理。
💡詳細內容請見影片:Code Judger 最好的程式測驗輔助工具
