終結無預期的突發狀況,你也可以成為緊要關頭的功臣-內附Python程式碼

行銷資料科學
Aug 2, 2018 · 6 min read

意外總是來的非常突然。相信許多讀者都經歷過一起床才發現水龍頭沒水的窘境。或許停水對於一般家庭來說影響不大,只要去加水站提桶水,辛苦一點就過去了。但對於用水量非常大的商家來說,就不是提幾桶水就可以解決了。

作者:prettysleepy (圖片取自 pixabay,如有侵犯到您的權益,歡迎來信告知,我們會立即刪除。)

以一般的連鎖手搖飲料店為例,通常平日約有一萬元左右的營業額,假日的業績則約為三萬元左右。一旦發生無預期的停水,當下又沒有足夠的水源,嚴重的話,將導致當天必須歇業,歇業損失將達一萬至三萬元。而一天的歇業,還可能導致當月業績無法達成,不僅損失獎金,甚至影響考績

但意外不就都是在人認為妥善情況下發生的嗎?

上述範例其實很容易避免,該區應該會提早幾天公告要儲水,或者只要定期上去觀看政府所公告的停水訊息就可以輕易解決。甚至GOV組織有為台灣自來水公司搭建以地圖為底的停水查詢系統(https://wateroff.water.gov.tw/)(圖1)。一旦看到停水訊息後,只要提前確認水塔的蓄水程度,臨時不夠也有足夠的時間應付汲水,就能輕易的避免業績的虧損。

圖1、台灣自來水公司停水公告系統。

縱使有事先提醒,

一般人因為事情繁忙而忘記還是很常見的!

拜現在的政府提倡open data 所賜,只要上台北市政府資訊局所提供的opendata 網站(http://data.taipei/)(圖2)。就可以輕易取得許多關於政府的開放資料。例如:垃圾車時間、消防局等等。剛剛好在平台上也有提供停水的資訊臺北市停水資訊-(大臺北地區)。也有提供API的方式方便市民存取。真的要非常感謝辛苦更新的人。

圖2、可以看到在8/1號時,就有公布隔天停水的訊息,這個資料集是時常在更新的。

所以為了避免意外的發生。這個時候我們就可以透過程式輕易的幫我們爬取停水的資料。爬取資料就變得非常容易了。到data.taipei後可以搜尋「台北市停水資訊」,就可以找到資料的頁面。還可以透過API的方式存取實在是太方便了。

台北市停水資訊,點選使用資料後會顯示API。

但是點進去後會發現密密麻麻的字與符號實在是嚇死人!

圖、API 堤共的資料格式,實際上為json 格式(連結)。

其實看到這個不用害怕,更不如說只要有點經驗的工程師看到這種整理好的格式根本會開心的要死。因為只要有json格式的呈現,代表不用自己清理資料格式拉!眼尖的讀者就會發現圖3的第一行就有我們要的停水重要資訊了!

圖3、 在資料的前面就可以看到有停水資訊。

對於第一次的碰到json的人來說或許會有點困難,所以我們協助讀者轉換成容易閱讀的格式。讀者也可以依照圖4自行將網頁上的資料複製下來,貼到別人提供的線上json 整理格式的工具上。就可以輕易的閱讀。

圖4、線上轉換格式網站,可以協助轉換成簡單的格式(連結)

由上圖5可以看出其實json資料是依據階層由上往下包含的,可以看黃色的區塊也就代表同一層其實可以包含很多個子資料。所以如果我們要抓到停水的訊息,我們只要 'result' > 'results' >'0' > 'Description',這樣一層一層就可以抓到最新的停水訊息了!

圖5、程式實際執行結果。(連結)

可以點此直接線上執行

注意:如果您是用手機板觀看,上圖畫面會被擠壓喔。

附贈完整 Python 程式碼:

可是這樣做衍伸出另一個問題,假如每天都特別安排一個時間來執行這段程式碼,那麼,跟我們自己定期上網看政府公告資訊有什麼差別!?

於是筆者心想:「如果讓程式定時自動執行,不就解決了?」

突然看到螢幕右下角跳出的 Line 訊息提醒,靈機一動,想到:「大多數人每天至少都會看一次訊息,如果把這種爬取重要公告訊息的功能和Line的提醒做結合,一旦有重要消息公布,即使事務繁忙,只要打開手機就能收到,也不用擔心因漏接而造成損失的遺憾了!」

於是我做了一個自動化的「預警機器人」,不但幫公司留意重要消息,也可以「私心地」抓取一些平常關注的網站,這樣就可以專心做自己的事,也不怕漏接訊息了。

圖、預警機器人提醒停水地點,也可以根據其他條件選擇。

做出來用了一段時間之後,有經常關注股市、期貨的朋友跑來問:「欸 Zino,那這種東西能不能用來關注股票啊?」

做社群行銷的朋友問:「能不能用來關注大家討論的話題?」

連老闆也來問:「這可以用來抓競爭對手的資訊嗎?」

對我而言,其實只要稍微調整了一下抓取資料的位址就行了,令我驚訝的是,這個小工具竟能達到這種效果!更意外的是,居然有合作廠商的人看到後,也希望我們公司為他們訂做!

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

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

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

作者:

林建興(臺灣行銷研究技術長)、李政翰(臺灣行銷研究 資料科學研發工程師)

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

Marketingdatascience

行銷資料科學 — 數據驅動精準行銷。基礎概念、趨勢、方法和實戰。

Marketingdatascience

行銷資料科學 — 數據驅動精準行銷。基礎概念、趨勢、方法和實戰。

行銷資料科學

Written by

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

Marketingdatascience

行銷資料科學 — 數據驅動精準行銷。基礎概念、趨勢、方法和實戰。

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store