歡迎來到Selenium Facebook爬蟲系列的第二篇文章!
現代人的生活型態,幾乎離不開3C產品~
而FB或是IG幾乎是數位時代下每個人日常的一部分。有的人用來記錄每天發生的趣事、和好友們互相分享生活點滴,有的人用來經營個人品牌,有的人用來作為同好的交流社群!
也因為趨勢潮流的帶動,讓社群媒體成為了新的資訊集結及傳遞的重要工具,也成了數據時代下,大家都想探究、挖掘、開發的新天地。外行看熱鬧,內行看門道。本系列文章,將帶您用數據思維的角度來看FB這塊數據寶地背後隱涵消費行為。
此篇我們將從將最簡單也最基礎的部分入門著手。請跟著我從爬取FB粉絲專頁每篇貼文的「按讚數」、「留言」及「分享數」開始吧!
前情提要
上一篇文章講解到開啟chromedriver及登入facebook的方法,今天我們也會建構在這個基礎上,繼續探討selenium的神奇奧秘!
若還不了解上述內容的話可以參考以下文章
想知道chromedriver的強大請參考:
Selenium必備技能 — 網頁檢視器概念說明
要爬取一個網頁的資料,必須從檢視網頁內容開始! 相信已經閱讀過其他篇Selenium爬蟲系列的文章的朋友們,應該已經對網頁檢視器很熟悉了吧!
如果還不太了解的話,沒!關!係! 我來快速為各位講解一下,只要依循以下的步驟實際操作,就能夠簡單找到想要的網頁資料喔!
1. 請大家打開網頁檢視器 (Windows系統:請按 f12、macOS系統:請按option+command+c) 可以看到以下視窗 (圖一)
2. 點選視窗上方的Elements (圖二),檢視網頁元素
3. 點選Elements左邊的箭頭 (圖三)
4. 將移動鼠標移動到網頁中任意的區塊做點擊,即可得到鼠標對應區塊的網頁元素! (影一)
抓取文章框架
在抓取貼文按讚數、留言數、分享數前,如果我們能夠一次抓到粉絲專頁內多篇貼文的網頁元素,就能夠使用for迴圈把所需的內容一次抓下來,簡單又快速! 因此我們將所有貼文先爬取下來。
— — — — — — — — — — — — — — —
*注意事項:
因為facebook是一個動態網頁,必須滾動滾輪才會有更多貼文的出現,因此可以先使用Javascript 中的window.scrollTo()讓程式自動幫你下拉滾輪,直到所需的貼文都出現後,就可以停止下拉的動作了! (請參考以下程式碼)
程式執行展示影片如下 (影二)
— — — — — — — — — — — — — — —
1. 下拉完滾論後,移動滑鼠箭頭至第一篇貼文 (圖四)
2. 就可以找到第一篇貼文的class name 是 ‘du4w35lb k4urcfbm l9j0dhe7 sjgh65i0’ (圖五)
3. 接著就可以發現每一篇貼文的class name都是一樣! 如下圖中每一個紅色框框都是代表一篇貼文 (圖六)
6. 使用BeautifulSoup套件,把我們剛剛找到的class name放進 find_all() function裡面,並執行以下程式碼,即可把全部貼文內容都抓取下來囉!
*BeautifulSoup補充說明:
find_all() 為抓取所有符合此class name的元素內容
find() 為抓取第一個符合此class name的元素內容
抓取按讚數
- 首先,我們的目標是把第一篇貼文的按讚數抓取下來,使用網頁檢視器點選第一篇貼文的按讚數,即可找到對應的網頁元素 (圖七)
2. 找到按讚數的 class name,但要注意的是,這個 class name 前面還有一個span 標籤 (圖八)
3. 我們一樣使用BeautifulSoup套件,把我們剛剛找到的 span 標籤及class name ‘gpro0wi8 pcp91wgn’ 放進 find() 裡面,請參考以下程式碼 (因為我們現在只要抓取按讚數一個class name 的內容,所以使用 find() function)
4. 成功抓取第一篇貼文後,接下來我們使用for迴圈,把所有貼文的按讚數儲存在一個list裡面,請參考以下程式碼
5. 但是會發現程式執行完後,抓下來的數值格式不太統一 (圖九)
6. 因此我們要進行資料整理,請參考以下程式碼
7. 程式執行完後,數值就會變得美觀又整齊了喔! (圖十)
抓取留言數
抓取留言數的方法和按讚數大同小異,以下會再簡單的做介紹!
- 如同按讚數,第一步是使用網頁檢視器找出留言數的網頁元素 (圖十一)
2. 留言數的class name就是下面這一大~串,記得還有下面的 span 標籤喔! (圖十二)
3. 一樣使用BeautifulSoup套件,把我們剛剛找到的 span 標籤及class name 放進 find() 裡面,抓取第一篇貼文的留言數,請參考以下程式碼
4. 成功抓取第一篇貼文後,接下來我們使用for迴圈,把所有貼文的留言數儲存在一個list裡面,請參考以下程式碼
5. 但也會發現程式執行後,抓下來的數值格式不太統一,因此使用下方的程式碼進行資料整理
6. 以下分別是整理前 (圖十三)及整理後 (圖十四)的成果
抓取分享數
抓取分享數的方式與留言數又更相似了,因此我們仿照前面的方法,快速的講解一下抓取的方式,那我們就繼續看下去吧~
- 萬年不變的第一步,使用網頁檢視器點選分享數找出網頁元素! (圖十五)
2. 又是萬年不變的第二步,找出分享數的 class name,另外還要注意什麼?? 沒錯! 就是 span 標籤 (圖十六)
3. 但是如果仔細看看可以發現,留言數和分享數的 class name 好像一樣欸! (圖十七 、圖十八)
4. 因此我們先執行第一篇貼文的 find_all() function,並把此class name放進去,看看會得到什麼結果?
喔喔喔! 留言數和分享數竟然一起出現了 (圖十九)
5. 那要怎麼取出分享數呢? 因為分享數是第二個出現的,所以只要在整串 find_all() 後面再加上 [1] 就可以抓到分享數了喔,請參考以下程式碼,執行完後即可取出第一篇貼文的分享數了!
6. 成功取出第一篇貼文的分享數後,那我們一樣使用for迴圈,把所有貼文的分享數儲存在一個list裡面,請參考以下程式碼
7. 並使用以下的程式碼進行資料整理!
8. 程式執行完後那我們就來看整理前 (圖二十)及整理後 (圖二十一)的成果吧
以上就是FB貼文按讚數、留言數及分享數爬蟲的全部介紹!但是要注意! 因為每個網頁都會定期維護,所以 class name 要定期偵錯喔!
學會了這幾招,就可以從自己的FB開始,試著爬取按讚數、留言數、分享數,或者也可以分析您自身經營的社群。可以初步比較那些種類的貼文其粉絲互動性指標是較高的,指標間的有無明顯的差異變化,再延伸應用至貼文類型發放選擇、貼文效益評估管理等。
本文完整程式碼在此
謝謝大家看完這篇陋陋ㄉㄥˊ的文章,希望能讓大家體會到爬蟲的神奇奧秘!
那我們就下次見啦,掰掰~
作者:許喬雅(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)
您可能有興趣:
📢TMR為您量身打造「全方位數據課程」
👨🎓熱門Python程式語言結合全新商業思維,快來終生學習不間斷!
【TMR】 X 【 好學校】
👨💼Python商業全系列數位課程👨💼
#行銷人必學實用Python課程
《 Python 0到1 基礎商業數據分析實戰 》
💥 價格 :3188
👉 從0開始:手把手從頭學習,適合完全沒學過的學員
👉 商業應用全台最多:傳授市面上少見的Python實務應用
👉 網路輿情爬蟲演練:網路輿情商務爬蟲技法
👉 競品分析:競爭價值定位圖找出藍海策略
👉 貨架陳列視覺化:解析行銷策略及廣告預算配置方法
🛒 前往購買:https://hahow.in/cr/python0-1
《 顧客分類大師:Python x RFM 會員經營新觀點 》
💥 價格 :2388
🎯 Python X RFM最佳拍檔,輕鬆鎖定潛(錢)在顧客
不需要出門,在家也能學習專業課程,讓你擁有會員經營的新思維!
本課程以五個面向為您的企業,做更深入的健診:
👉 市場面:以最基本的顧客消費資料(頻率、購買次數),將現有顧客區隔分類。
👉 財務面:計算出在每個顧客身上所賺得毛利,在不同客群中的獲利。
👉 行銷面:藉由 RFM 的分析進行行銷預算重新分配。
👉 產品面:觀察在不同客群中,各個產品的銷售狀況。
👉 顧客回購面:分析顧客的購買週期後,進行精準推薦。
🛒 前往購買:https://hahow.in/cr/rfm-model
《 AI 行銷學:用 Python 機器學習創造商業新價值 》
💥 價格 :3888
👉 全台第一門Python機器學習線上課程
👉 教導你快速理解Logistic Regression, XGBoost, Random Forest商務機器學習模型。
👉 建構老闆或主管們看得懂的模型評估指標,讓精準行銷方案更容易被接受且推出
👉 如何利用機器學習找出消費者心中的重要變數及客樣貌與特徵,做到個體及總體的商品推薦?
👉 如何從數以萬計的消費資料中偵測可能的詐欺名單?
🛒 前往購買:https://hahow.in/cr/python-ml
#實用投資分析課程
《 用 Python 打造自己的股票小秘書 》
💥 價格 :4288
👉 打造自動推播機器人,趁著股市最近低迷,找出最適進場點
👉 「到價提醒」功能,大大提升投資便利性
👉 了解Python雲端服務架構,完整的專案流程
👉 孰悉No SQL資料庫操作,未來大數據的基礎
🛒 前往購買:https://hahow.in/cr/stock-secretary
#好學校企業百大課程之一:
《台科 EMBA 年年爆滿的一門 Word 課(A系列)》
💥 價格 :950
👉 系統性學習Office軟體功能,教您別人不知道的快捷鍵
👉 調整不受控制的行距與精準對齊排版
👉 一鍵轉換Word到Excel
👉 有效率處理企畫書、畢業論文、小組報告、公文等
🛒 前往購買:https://hahow.in/cr/tmr-word1
《 台科 EMBA 年年爆滿的一門 Word 課(B+C系列)》
💥 價格 :1,050
👉 傳授獨家快捷鍵字典
👉 分享好用的大綱模式,讓文章處理更有效率
👉 建立大綱模式、多層次清單、目錄與圖表目錄,掌握文件編輯規則
👉 優化文章的邏輯架構
🛒 前往購買:https://hahow.in/cr/tmr-word2
— — — — — — — — — — — — — — — — -
【TMR】 X 【工研院】
🏭工業4.0大數據智慧應用課程🏭
製程數據資料 X 資料科學,
為您開啟工業人工智慧領域的大門!
👉全球前十大智慧製程案例實戰
👉專業講師手把手帶您入門製程資料處理分析
👉課後完整模組心法讓您通通帶回家
💥價格 : 2,800
🏃趕緊手刀前往購買:https://bit.ly/39koNbn
— — — — — — — — — — — — — — — — -
2020課程地圖
💪 點我看更多
🏆 國內第一本行銷資料科學專書
💪 點我看書本資訊
🏆 國內第一本行銷資料科學 ” 實作 ” 專書
💪 點我看書本資訊
🏆國內第一本「股票小祕書」專書
附上購書網址~ 國外的朋友也可以使用博客來與金石堂的通路轉運到國外哦!