還在人工爬資料?不用定期敲爬蟲,也能【自動化】訊息爬取的秘訣(內附Python程式碼)

行銷資料科學
Marketingdatascience
6 min readAug 10, 2018

企業外部環境搜索現況

隨著資訊技術的進步,企業所面對的環境已經迅速改變。各個競爭對手都不斷的出招搶攻媒體版面,因而可掌控市場的動態就變成重要的關鍵。我們輔導的企業中,多數都還是以人工的方式進行搜索,且許多企業每天必須花費至少1/3的上班時間蒐集外部環境的相關資訊。

所以讓企業本身必須要使用資料科學相關技術,快速調整公司策略。

為何不使用人工蒐集資訊就好?

如今用傳統的「人工」搜尋法,早已不可行,主要原因包括:

  1. 面對資訊多元的媒體與訊息管理,亦有人力成本高漲等問題,若真要找一批人來整理或轉化資料,其所需的人力、物力將是一筆鉅額開銷。假設這群人每天花1/3的時間搜尋外部資訊,等於1/3的公司薪資要花費在這重複性極高的工作上
  2. 又或即使要蒐羅的資料量不多,但由於非即時性的人工作業及其過程耗時,等結果分析出來,可能早已過了時效

所以,為何不用「機器」為您代勞呢?

如果企業想要抓取競爭對手或者政府新聞,以獲取最新動態協助決策,只要上網搜尋「Python 新聞抓取」,一定會查詢到許多網頁爬蟲的文章。 但是事實上網頁爬蟲,對於Python 新手其實是不好入門的光把Python 學好就已經花費許多的力氣,更不用說還要面對 HTML 、CSS 與javascript這些網頁常用的程式語言了。一打開網頁原始碼(圖1)就馬上昏頭,更不用說去理解要怎麼抓取了。

圖1、讓人眼花撩亂的html標籤語法。

RSS服務

值得慶幸的是,現在許多新聞網站都有提供RSS 的服務,讓我們可以透過RSS 服務來訂閱最新的新聞摘要與連結。根據維基百科介紹,RSS 是一種訊息來源格式規範,一般於常發布更新資料的網站,例如部落格文章、新聞、音訊或視訊網站。RSS檔案包含全文或是節錄的文字,再加上發布者所訂閱之網摘資料和授權的元資料。通常 RSS會使用 RSS閱讀器來讀取,讓使用者可以輕易訂閱自己想要的頻道。而我們則可以利用RSS服務來幫助我們完成新聞訊息的抓取。

圖2、由中央社提供之RSS服務

RSS服務Python實做

一、 安裝

我們可以透過Python的套件包:「feedparser 」 。讓我們可以輕易的透過Python解析 RSS。

Windows 安裝,開啟Command Line:

pip install feedparser

Ubuntu安裝,開啟Terminal:

sudo pip install feedparser
圖3、Ubuntu 安裝 feedparser

二、抓取訊息來源

我們以中央社的RSS 為範例,連到中社的RSS 網站。選擇任合一個RSS 圖示,並複製訊息來源連結,後續會做來源使用。

圖4、中央社的RSS

三、撰寫程式

  1. 先引入feedparser 套件
import feedparser

2. 將剛剛的連結貼上存到變數中,並透過feedparser 執行抓取資料。

rss_url = 'http://feeds.feedburner.com/cnaFirstNews'

# 抓取資料
rss = feedparser.parse(rss_url)
圖5、執行後可以查看 rss變數中的資料、就已經可以看到許多新聞摘要。

3. 取出新聞標題與新聞連結。

# 抓取第一個文章標題
print(rss['entries'][0]['title'])
# 抓取第一個文章標題
print(rss.entries[0]['link'])
# 抓取第一個文章摘要
print(rss.entries[0]['summary'])
圖6、抓取第一個標題與文章連結。
圖7、將連結貼到網頁上

感覺還是好複雜嗎? 使用預警機器人協助解決爬文問題!

為了避免每天面對這複雜的程式碼,於是我們做了一個自動化的「預警機器人」,輔導的公司留意重要消息,節省公司那1/3的時間及薪資成本的浪費,因此員工即可專心將產能發會到更有意義的事務上,同時也不怕漏接訊息!

圖7、可以透過預警機器人,迅速推播到手機,讓競爭對手

我們做出來,不同產業使用了一段時間之後,金融業、證券業、電商業的合作夥伴及朋友紛紛詢問:「能否關注競爭者話題? 競爭對手抓取? 股票資訊抓取? 」

對我們而言,僅做微調即可,令我驚訝的是,這個小工具竟能達到這種效果!更意外的是,居然有合作廠商看到後,也希望我們公司為他們訂做!

陸陸續續,發現很多人都有同樣需求,於是我希望藉由開課,將這個工具的做法從0到1,傳授給需要的朋友。

經過我們漫長的整理,盡可能地將這些程式碼改得簡潔易懂,也把從觀察網頁、爬蟲設計,到串連Line等程序盡力簡化,以確保即使沒有學過Python的人也能快速做出成果,大大縮減從無到有的時間成本與精力。

此外,因為是根據顧客實際專案成果整理出的課程,學習成果保證達到業界水準,更詳細的內容,可以點下面連結了解:

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

作者:

鍾皓軒(臺灣行銷研究有限公司 共同創辦人)

林建興(臺灣行銷研究技術長)

附贈完整程式碼

點此線上執行程式碼

圖8、線上執行結果,新聞會隨時更新執行就會抓到最新新聞。

作者:羅凱揚(台科大企管系博士)、蘇宇暉(台科大管研所博士候選人)

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

--

--

行銷資料科學
Marketingdatascience

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR