故事都有個開始…
先說明一下標題
這件事開始於兩個待業人士兼棒球迷的抬槓,從中文媒體的品質,聊到職涯發展的選擇,然後 Adam 突然決定要召集一個團隊,來自幹一個 Fantasy Baseball。其實在四月前後,線上也有兩種實踐的方法:第一個城牆用 google doc 做的,第二個則是用問卷系統,這兩種做法都非常的有創意且實際,但工程師就要用工程師的方法
於是很快開始我們的第一次會議,決定怎麼分工及最重要的遊戲規則,Blues 提供了超豐富的經驗,幫助我們在這天決定了這個產品的三大要素
至於分工,因為已經有 Randy 及 Adam 兩個前端了,所以我就去處理後端及爬蟲的部份,以下的血淚心得及建議也比較偏向這方面的
資料來源方面,當然一定要從中職官網著手,其實在第一次會議之前,我已經做好了一個雛形的爬蟲。首先我很驚訝的是
連我這個個人 blog 都有了,用 Let’s Encrypt 可以很容易的建立安全的網站, 如果想花錢的話,買一個 dv 等級的 ssl certificate,大概台幣 300 元左右
而且完全沒有 ajax 相關的功能,這樣寫爬蟲超方便,只需要 fetch + Cheerio。順便一提,如果是 SPA 的話,我個人推薦 Puppeteer,它可以模擬實際瀏覽器的行為,拿來做 end-to-end 測試也很好用
打開官網的 source 彷彿看到了上個世紀的網站 (還是本來就是?),連 doctype 都是 html 4,然後裡面的 static resource 有 elta 耶
正常來說的 query string 應該是 ? 開頭,每組參數間以 & 分隔,例如:
?type=001&id=2020001
而中職網站內的連結則是
?&type=001&id=2020001
多了那個 &,結果 split 出的第一個參數變成空的,雖然不是很麻煩,但是很討厭
另外就是意義接近或相同的參數實在太多了,像賽程的網址是
/schedule/index/2020-05-13.html?&date=2020-05-13&gameno=01&sfieldsub=&sgameno=01
優良一點的設計應該是 /schedule/202005
,如果要顯示二軍的話,可以用 schedule/202005/minor
就好
然後居然沒有以週為單位的 schedule!?
按理來說 more 應該指的是更詳細的資料,而球員生涯成績應該會額外出現一些進階的數據,而在這裡的問題是,它把 IBB 及 BB 都合在一起了,讓我覺得有點意味不明,要嘛乾脆只出現基本數據就好,要嘛那個 more 就真的把數據詳實呈現,現在這樣有點不上不下。
再來就是英文簡寫的問題,我想了一下才知道 SAC 就是 SH (Sacrifice Hit: number of sacrifice bunts which allow runners to advance on the basepaths)。其實 Boxscore 不管在 MLB 官網或像 ESPN 都做的很好,中職官方其實也不需要太傷腦筋
裡面球員姓名的格式是類似像: 王 光 輝, 中間的空格到底是怎麼回事,要挪抬嗎? 還是這樣看起比較厲害
要不是有這一頁,我都忘了曾經有第一金剛這隻球隊, 我代第一金剛球迷謝謝聯盟!
這部份小人物 Hans 其實已經講很多,中文版網站的資訊架構已經不怎麼樣了,英文版更是爛到不忍卒睹。CPBL TV 雖然是比較新,但也沒有比較好,一點進去我看到標楷體就關了
我本來是想講這兩個部份的,不過還是放到付費區以後有空再寫,因為實在太多可以吐槽
2020 因為疫情影響,中職成為世界第一個開打的職棒,但很明顯中職網站在國際化的努力不夠,很多方面都看起來像上個世紀的遺跡,我個人對中職官方最不理解的就是
明明已經有個很好的範例放在那裡,你居然連照抄都會抄錯
像網站就是很好的例子,在研究這個網站時,處處都可以發現設計上不夠用心的地方,讓我感覺官方似乎沒有心思推廣到國際 (老實說,連中文內容都只能算是堪用)。台灣有很多的技術人才而且很便宜,絕對不可能說沒有資源去改善,民間組織的效率可以不只是這樣
最後,有興趣的朋友可以到這邊找我們
Play Ball!!