資料爬取的難與憂
2020 Oct 20 市場觀點
資料爬取的難與憂
✨基於過往發佈週論無法即時反應新聞事件,考量下,以後將以快報形式短篇刊登,謝謝大家的支持!
上週五席勒本益比資料已經截取並計算出來,卻發現我們的每日大盤數據爬蟲程式出現問題。起因於原始網頁做了大改版,而且做了不少動態防爬蟲的機制。所以我們花了不少時間重新導向到資料正確的網址,重新用python編寫一個較精緻突破性較強的前端爬取程式,然後沿用先前的資料比對儲存程式(如附圖),這樣一共兩天的工,排除掉問題也確保往後至少一季的資料正確性!
爬取資料的難在於,在寫程式之前即需要有大量相關知識,然後再花時間閱讀大量網站,確定其資料的正確性與穩定性,至少觀察3-6個月,接著才能把程式放進每日電腦排程。爬蟲程式的編寫,應對防爬極度嚴密的網站,我們的工作就有點駭客的味道,需要跟各種規則做攻防;幸運的是一般網站是希望訪客參觀,所以再為難也有個限度;但是,憂慮的問題在於「維護」,網站只要三不五時做個改版,做架構的變動或是新增防爬機制,我們就得花約一週時間去重新編寫程式應對。
或許有朋友會覺得這麼麻煩幹嘛不直接人工記錄?或是花筆費用購買資料算了?我們算過,人工記錄,以當前的資料量應該至少要5人每日工作才能做到,一個月至少多出15萬的人事費用,(不包括勞健保與獎金,經營需考慮成本😅);此外,對比電腦來說,人的出錯性極大且揪錯不易,表現與情緒複雜相關;初期我們也的確是由人工找尋並鍵入,但可以想像其慘況,所以後來放棄這個做法。
早期詢問過不少資料源,費用不低,每月也要七八萬費用,對初期負擔很大!但是隨著穩定成長後業務量的擴增,我們也在計畫未來編納經費來做數據購買,比對爬蟲資料後放入資料庫。幸運的是財經數據,特別是財報數據通常都是制式化,這也是電腦最擅長的工作,所以一直以來的九年時間,我們也都仰賴資訊、網路與電腦的發展,搶得先機與節約成本!
這裡與各位好友分享我們的一些工作甘苦,也稍微揭開這個行業看似神祕的一角,裡面還是時間與努力堆積而成的;沒有多少天上掉下來不勞而獲的機會,我們還是得腳踏實地去做才行,成功背後總有許多努力的故事,不是嗎?