近來在玩 Python,所以寫了好幾個小玩意當練習。不過前幾個都因為題材不好說,所以自己玩一玩就算了。上禮拜花了一點時間寫了個抓出每日新聞關鍵字,顯示為文字雲的小程式:
工作原理大概是:
-
定時去 Google News Feeds 撈新聞資料,把他暫存進一個表裡(以後可能還可以拿這些資料做什麼,所以就先存下來了)
-
定時用 jeiba 這個中文斷詞引擎,把關鍵詞抓出來,再存進一個表裡。jeiba 斷出來的詞基本上還不錯,但是還是有些亂七八糟奇奇怪怪的關鍵詞需要自己手動調整一下。
-
一個簡單的 API,從關鍵詞資料庫中撈出特定詞性的關鍵詞以及出現次數,輸出成 JSON,讓前端來拿。
-
前端用 wordcloud2.js ,根據出現次數來計算關鍵詞要顯示的大小。如果是出現次數最多的關鍵詞,每個字就顯示為螢幕寬度的 15%,其他的詞就再按照出現次數,依比率縮小。然後畫在 HTML5 canvas 上面,畫出來是一張圖片可以另存新檔。
-
然後每天 4:00 會重置關鍵字資料表,這時間應該也沒什麼新聞產出量了。改為即時更新,每次連線都會取出前 24 小時 的資料。
從這上面可以很容易看出來當天新聞的趨勢,在測試的過程中也發現了好幾個根本平常不會注意的新聞主題XDD另外這些算出來的關鍵詞未來應該也還可以拿出來做一些事情,看看之後有沒有好點子。