用Selenium爬蟲-抓取FB文章內容、時間-系列3(附Python程式碼)

陳俊凱
Marketingdatascience
13 min readOct 12, 2020

系列2 — 好奇自己FB的互動性指標嗎?!用Selenium爬蟲-搞定貼文按讚數、留言數、分享數中,我們透過爬取留言數 、讚數、分享數等指標來了解FB粉專的互動情形,然而想要打造絕佳的內容行銷策略,只有這些資訊足夠嗎?

想知道在FB中哪些內容獲得最多回響,以及什麼樣的內容才會吸引人們主動按讚分享嗎?
想收集不同產業的話題,再創造新的發燒熱題嗎?
想藉由FB主流社群平台了解現在時下的流行議題嗎 ?

這一系列的FB爬蟲文章,分享了我們在動態網頁上爬蟲的成果,讓大家了解如何藉由爬取網路資訊,挖掘背後潛在的輿情價值。

而本篇文章將為您介紹如何抓取FB文章內容文章時間,並從中找出可運用的各項關鍵資訊。

為何”文章內容”及”文章時間”很重要呢?

這些資訊對於企業來說可說是重要的輿情資料,舉例來說:如果企業品牌下有消費者自主創建粉絲團或其他討論區在議論、評價您的品牌與產品使用狀況,相信他們討論的內容對企業來說是相當重要的資產;亦或者消費者們在一個產業類別(如:汽車)的粉絲團內討論不同廠牌的商品。這些意見與看法可以幫助我們更了解消費者的心思,將目標客群描繪的更加清晰,又或者可以作為產品改善、產品開發、產品新議題發想…等的創意來源。

接著就讓我們一同來看看如何操作吧!

文章內容抓取

藉由抓取不同的文章內容可以幫助我們了解什麼樣的主題用詞能夠獲得較多的按讚、回覆,以及時下消費者在討論些什麼,對於企業的各項經營都是非常重要的參考依據。

上面我們提到粉絲團內的貼文內容可以幫助企業真正的了解消費者對於企業產品的想法,比如:一項新產品推出後在消費者之間的評價如何,或者品牌定位在消費者心中是否與原先企業所設立的定位相同;若是在特定產品類別的粉絲團,甚至可以幫助我們了解競爭對手的品牌定位與消費者對於該品牌的觀點,從中找到市場上豐腴的藍海。

程式解說

以下我們以教育部粉絲團為例。在進行爬蟲時,我們需要查看網頁內元素以了解該文章的組成內容,按F12或使用crtl + shift+i ,便可以看到以下視窗(圖一),接者點選 左上角滑鼠圖示的選項,並將滑鼠移動到想要抓取的地方,就可以看到該元素的組成囉 !

▲圖一、 藉此查看網頁元素
▲ 圖一、查看網頁元素(來源:教育部粉絲團

以教育部這篇文為例,透過此種方法對比之下,就可看到文章內的組成元素(圖二),找到想要的元素後,將Chrome drive 內的網頁元素放入Beautifulsoup 內進行解析,再根據上述兩個步驟查詢到想要的元素並進行提取。

# 將網頁元素放入Beautifulsoup
soup = Soup(driver.page_source,”html.parser”)
▲ 圖二、文章內網頁元素(來源:教育部粉絲團

在圖二中可以看到文章的所有文字被包在綠色標籤中,而我們就需將包含著所有文字的網頁元素抓取出來,才可以更進一步的抓取底下的所有文字,如下所示:

網頁元素 :

<div class="ecm0bbzt hv4rvrfc ihqw7lf3 dati1w0a">

接者我們就可以使用Beautifulsoup的套件 find 抓取上述所有文字的class name ,並使用.text 就可以將該元素內的所有文字提取出來,也就是該篇文章的文字內容,程式碼如下:

程式碼解說:

使用方法 soup .find(class_ = '想抓取元素 的 classname')

.find : 可以抓取符合的第一個元素

.find_all : 可以抓取所有符合的元素,用法與 find相同

程式碼 :

# 抓取文章內所有文字
soup.find(class_ =’ecm0bbzt hv4rvrfc ihqw7lf3 dati1w0a’).text
圖三、執行結果-文章內所有文字(來源:教育部粉絲團

文章時間抓取

文章時間可以幫助我們篩選需要的資料,現今網路潮流變遷快速,使得這些高價值的資料具有時效性

以行銷活動來說,若是我們想了解9月份的行銷活動反應如何,就需抓取9月以後的貼文,又好比Apple每年秋季便會發表新產品,在快接近產品發表會前消費者們便會開始討論起今年的新產品,我們同樣可以從這段期間討論內容中理解消費者的期望與需求。

而抓取往文章時間的作法與文章內容大同小異:

  1. 查看網頁內元素
  2. 找到文章時間的class name
  3. 如果無 class name 或有許多相同的class name 可用屬性定位
▲ 圖四、文章時間元素(來源:教育部粉絲團

圖五中的元素為時間的class name,但同時也注意到網頁內常常有許多相同的class name,因此藉由此查詢方法是無法達到精準定位的。這時我們必須往上一階層找到位於每篇文章中的時間才有的class name ,以達到精準的定位,圖六中可看到這是每一個文章都有一個時間位置的class name,這就是我們要的元素。

▲ 圖五、文章時間定位元素(來源:教育部粉絲團

網頁元素:

<a aria-label ="2天" class="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl gmql0nx0 gpro0wi8 b1v8xokw" href="https://www.facebook.com/www.edu.tw/posts/1647437415430873?__cft__[0]=AZUjZWq8K6YJOhn8500VIHK_-YgS7roPcEmQxfrPrG-rcOB_xlWOKXyOpcOtyHPElmF6MoY8C87XgMPrkw4t8ckixRUrXVTXx-YXFaG1kK1Aik0Vc6azVenLpaNHv10VfdAsTf9ZCdjLIaUreU5PpIa0NlfDnigbz9quVQIqoKtaWQ&__tn__=%2CO%2CP-R" role="link" tabindex="0">

程式碼 :

成功提取網頁元素後,便使用 find 進行內容提取,看到這麼長的元素不用害怕,我們要抓取的為網頁下的時間型態為 " 文字 ",所以透過class name 找到這個元素,再透過 .text 方式取出裡面的文字即可。

▲ 圖六、時間抓取

雖然將時間內容抓取出來了,但可以看到在時間上面有了許多的 = ,要將這些多餘的=刪除掉可以使用 .strip,使用方法如下,在括號內輸入想要刪除的符號即可。

▲ 圖七 、去除等號

我們可以透過爬取的內容搭配時間點及前面文章所提及的讚數、留言數…等。進一步分析消費者們對於什麼樣的文章、題材感興趣,作為行銷活動的發想主軸文案的撰寫方式及關鍵字詞應用。這次FB爬蟲分享就到這裡告一段落,希望大家都可以順利抓取到自己想要的資料!

如果這篇文章對您有幫助,就太棒了 ! !

趕快追蹤我們,別錯過後續更多相關的精彩內容~

以下為相關文章連結,

1. FB 爬蟲可以更簡單-用Selenium自動登入FB-系列1(附Python程式碼)

2.好奇自己FB的互動性指標嗎?!用Selenium爬蟲-搞定貼文按讚數、留言數、分享數-系列2(附Python程式碼)

如果在本次系列有不懂的地方,可點擊前往觀看更多爬蟲技巧以及不同社群平台的教學~

作者:陳俊凱(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

歡迎加入我們的Telegram獲取即時訊息!https://t.me/marketingdatascience
歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r

您可能有興趣:

📢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大數據智慧應用課程🏭

《Python工業4.0人工智慧:製程資料處理大師》

製程數據資料 X 資料科學,
為您開啟工業人工智慧領域的大門!
👉全球前十大智慧製程案例實戰
👉專業講師手把手帶您入門製程資料處理分析
👉課後完整模組心法讓您通通帶回家

💥價格 : 2,800
🏃趕緊手刀前往購買:https://bit.ly/39koNbn

— — — — — — — — — — — — — — — — -

2020課程地圖

💪 點我看更多

🏆 國內第一本行銷資料科學專書

💪 點我看書本資訊

🏆 國內第一本行銷資料科學 ” 實作 ” 專書

💪 點我看書本資訊

🏆國內第一本「股票小祕書」專書

附上購書網址~ 國外的朋友也可以使用博客來與金石堂的通路轉運到國外哦!

  1. 天瓏書局:http://bit.ly/stock-secretaryBot
  2. 博客來:https://www.books.com.tw/products/0010833772

--

--