2009年11月28日 星期六

第一次因研究用 GAE 來抓資料

還記得之前因為要報告關於岡山鎮螺絲工業的狀況,利用 Google Maps 製作一份工廠分佈地圖,結果博班的學姊希望我再說明一下地圖是怎樣製作的,所以叫我禮拜四(26)早上去 Meeting。

第一次在課堂上報告完後教授就和我說只要統計那一塊區域的分佈密度就可以,希望我把它整理出來。但我為了讓資料更精準一點,所以當天就寫信給螺絲公會,請求給予較新的公會會員資料。不過過了十幾天後才回覆,而且還是我去 Meeting 的時候回覆的,想當然一定是沒有取得最新的資訊。

禮拜三(25)中午收到博班學姊的 Mail,要我隔天報告。我下午想了一下,覺得之前那樣取得資料的方式有點沒效率,應該還有更好的方式去取得,況且一直等不到公會的回覆,所以我就覺得要用 GAE(Google App Engine) 來取得資料。製作的過程就如同以下的簡報:


我大概估計了一下,從開始寫程式到完成開始抓資料大約花了 12 小時的工作時數,利用 Python 的 HTMLParser 去解析網頁,然後利用 cron 設定每一分鐘抓五家廠商到 GAE 資料庫,最後資料庫輸出成 CSV 檔丟到試算表裡面處理。相關的程式原始碼放在 isufinstudio@github

之後還要搭配 Google Maps API 處理定位的事情,不過最近很忙,這部份就留到下禮拜才要處理!所以這就是第一次因為研究上需要,利用 GAE 來解決的狀況,還挺好玩的!

4 則留言 :

  1. 你要不要試試看用Q GIS(也是免費軟體喔!)來呈現你的圖,也許會更加完整的表達你畫得圖,畢竟GM能夠用的圖是有限,除非是自己做,當然GM也有優點,可以公開比較大眾化。

    回覆刪除
  2. @kaka:
    這是還來調整最後完成的~ 可以參考看看
    https://isufinstudio.appspot.com/

    回覆刪除
  3. 您好,因我最近也在使用GAE
    想請教您是如何把app端的資料撈下來的呢
    也就是您如何將螺絲廠資料轉成CSV檔那邊

    我知道有個appcfg.py download_data的功能
    但不知道是我filename(<-這個是要指到哪裡呢 要先有資料夾還什麼檔案嗎?)
    還是還有什麼地方要設未設
    總是有錯誤訊息出現
    所以想請教您是不是藉此py撈資料呢 有沒有什麼我漏掉的地方
    不好意思,距離你這篇文章也很久了,還這樣打擾,謝謝!

    回覆刪除
    回覆
    1. 不好意思,很久沒用 GAE 了,filename 應該是指檔案。其他的就請您參考他的文件。

      刪除