奧運即時比分 LINE 通知 (Python + LINE Notify)

當家裡沒電視、沒辦法看奧運轉播,卻很想知道中華隊現在比數如何的時候,發現 Google 有即時更新的比分,於是打開 F12 看了一下 XHR,有一個開頭是 torspo 的網址一直在送資料,如下圖。

URL = ‘https://www.google.com/async/torspo?ei=wuEEYZkqiLWYBeK8pYAG&yv=3&p3=1&async=emids:%2Fg%2F11fr0b7qvf,id:lu,ctx:%5Bnull%2Cnull%2C%5B%5B%22ev2%22%2C%22clb%22%2C%22tlb%22%2C%22tv%22%2C%22gs2%22%2C%22msv%22%5D%5D%2Cnull%2C1%2Cnull%2C1%2C%5Bnull%2C%5Bnull%2Cnull%2Cnull%2C%22%2Fm%2F05gj2h%22%5D%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2C%5B%22%2Fm%2F0194d%22%5D%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2C%5Bnull%2Cnull%2C%22%2Fm%2F06vvk%22%5D%5D%2C28%2C1%5D,dme:%2Fg%2F11fr0b7qvf,ct:,hl:zh-TW,tz:Asia%2FTaipei,_fmt:jspb’

但這網址除了參數有夠長之外,回應也非常混亂,有很多層的資料,光是解析出來就花了我好多時間,總之比賽國家和比分資訊就是藏在 ["tsp-mr4","tsp-vm"] 這個的後面,就用 regex 加上一些簡單的資料清理把它們抓出來:

閱讀更多»