Python手把手爬取 PPT 八卦版最新話題!(含影片與程式碼)
1. 一個觀念,開啟Python 網路爬蟲成長之路!
2. 第一支爬蟲:輕鬆爬取台灣第一位武漢肺炎確診資訊!
3. Cookie 突破PPT 八卦版十八禁限制-網路爬蟲系列
4. 以網路爬蟲角度解析HTML基本概念
本篇會用到以上四篇的概念!建議將以上文章先看過喔^^~
PPT大概是台灣話題更新最快速的討論地,再加上簡單的特性。許多初學者與商管人往往會把PPT 當作第一個練習的目標!這次就來手把手教學八卦版最新話題!
一、資料抓取
如同第一篇文章《一個觀念,開啟Python 網路爬蟲成長之路!》所說:網路爬蟲就是模擬使用者行為。所以我們透過request套件模擬瀏覽器發送Get請求到PPT。
或許有些第一次的讀者會疑惑為什麼會出現over18=1 的header。主要是為了突破PPT 的十八禁限制,可以參考《Cookie 突破PPT 八卦版十八禁限制》。 “Get請求”後我們會把 網頁程式碼都存在 response.text中。
二、分析網頁原始碼(HTML)
但問題就來了我們該如何分析這些HTML語法呢?總不可能一個一個文字慢慢分析巴XD 好在有人開發了 Beautiful Soup 4模組 ,可以幫我們快速分析HTML語法。建議大家初學者不要直接去Beautiful Soup 4官網看,因為初學者可能會被嚇到了。直接Google 網路上有大量的中文教學資源喔!
三個步驟完成資料抓取:
1. 解析HTML
這裡最關鍵的是要把網頁程式碼丟入bs4第一個參數。
2.定位元素標籤
這裡就是最大的學問了。到底要定位到對的標籤(Tags)呢?在《以網路爬蟲角度解析HTML基本概念》中有提到如果要一次大量抓取資訊,我們就需要找到對的class。可以幫助我們省力非常大的力氣。
從網頁定位標籤步驟:
A. 到達PTT八卦版網頁。
B. 在網頁中右件>檢查。
C. 點 "開發者工具"上方一個正方形游標按鈕。
D. 移動到左邊我們要爬取的文字。
E. 點左邊視窗文字, “開發者工具”會自動幫你找到文字存在哪個的HTML語法與階層中。
下方會有一些專有名詞,如:標籤、元素。在《以網路爬蟲角度解析HTML基本概念》會解釋喔
最後我們會發現標題雖然是在<a>標籤上,但是<a>標籤中沒有任何class 屬性。所以我們就會往上一層到<div class =”titles”>中,就可以讓我們操作bs4套件的find_all 方法來抓取大量資料。find_all第一個參數放的是標籤名稱(如下圖),第二個參數是Class 值。
你可能會問說:為什麼只要爬class=title 的資料就好了呢?因為你認真去每一個標題都查詢一次,會發現所有的標題都包含在class = title的div標籤內。
3.萃取文字
最後只要"定位"完的標籤(Tags),只要加上 .text。bs4套件會自動幫你萃取文字喔!
程式碼:
心聲:為了寫這篇結果先產了4篇文章才走到這裡XD。但我相信這篇文可以幫助更多人完整理解網路爬蟲架構的!
相關文章:幫助Python新手度過陣痛期的關鍵功能!整合開發環境 Spyder三大功能
相關文章:怒砍Anaconda ! 手動移除windows Anaconda 殘留檔案!
相關文章:入門必看!Windows 懶人搭建Anaconda Python 學習環境
相關文章:為什麼我的Python 總是學不好?
如果你覺得這篇文章很棒
你的拍手是我前進的動力!