把测试中的交易结果摆进玻璃柜,也把读不懂新网页的爬虫治好

這幾天做了兩件不太相關的事:一件是讓一直在背景抓購物網站資訊的機器人,認得出它之前看不懂的幾種網頁長相;另一件是把私下測試中的自動交易結果,做成一個公開頁面放到個人網站上,方便給人看作品。順手也在聯絡頁加了一個讓訪客直接約時間的按鈕。
爬蟲沒看過的版面,會安靜地抓不到東西
有一個專案是代購轉貼機器人,負責每天去日本幾個購物網站抓最新商品資訊,方便轉貼到社群平台。這幾天發現它在幾個網站上開了天窗——有的分類頁跟搜尋結果頁抓不到商品,有的商品尺寸規格讀不出來。
問題出在這些網站的頁面長相跟原本設定的不一樣。有的網站分類頁換了新的網址寫法,但舊網址其實還留著;搜尋結果頁要看頁面標題裡的關鍵字才認得出哪些是要的商品;商品尺寸資訊有些網站寫在沒有標籤的一般說明文字裡,寫法五花八門。這些情況都得一個一個補規則才認得出來。
如果請AI做一個每天要自動執行、去別人網站抓資料的工作,得先假設那個網站不會只有一種長相。規則寫死在一種版面上,遇到另一種版面時它不會主動喊救命,只會安靜地抓空。平常留一份維護清單,才看得出是哪個網站、哪種頁面壞掉了。
note技術細節:三個爬蟲補丁
toei-anim 補上分類頁 /shop/c/cXX/ 與舊網址 category.aspx 的解析規則(送 dtype=Category、dcode=XX)。 movic 補上搜尋結果頁 /shop/goods/search.aspx,抓
內部資料要公開,先做一份唯讀的複本
我私下有一個自動交易系統,用假錢做紙上交易實驗,用來驗證交易策略。為了讓個人作品集網站看起來更有說服力,這幾天把這個實驗的走勢圖、績效、持股結果做成一個公開頁面放上網站。
公開頁面不會直接連到那個正在運作的交易系統。交易系統會定期做一份唯讀的複本資料,公開網站只讀這份複本來顯示畫面。這就像把展品放進博物館的玻璃櫃給遊客看,遊客看得到,但碰不到,也動不了櫃子裡的真品。另外還寫了一支檢查程式,專門抓公開頁面上有沒有不小心漏出內部才用的代號或字眼。
flowchart LR
A[正在運作的交易系統] --> B[定期做一份唯讀複本]
B --> C[公開網站只讀複本來顯示]
如果要把內部系統的資料公開給外人看,不要讓公開頁面直接連到正在運作的系統,中間隔一層唯讀的複本。這樣公開頁面出問題也不會影響到正在跑的系統,內部還在調整中的資料也不會不小心曝光。
note技術細節:唯讀匯出與驗證腳本
020 的 run_export.py 與 qtrader/paper/public_export.py 以 mode=ro 開啟帳本,匯出 018 用的 content/data/paper-trading/snapshot.json,數字全部來自既有的 sleeve_perf、track_orders、order_stats 等函式。 018 新增 /data/paper-trading 三語頁面(SSG),含走勢圖、績效、持股、AI 提案、機率評分、風控等區塊。 scripts/verify-paper-trading.ts 檢查 schema、禁用詞、內部用語與組名字典是否一致,納入 npm run verify。
留言板旁邊多開一條直接約時間的路
個人作品集網站的聯絡頁,本來只能留言等我回信。這幾天加了一個預約會議的按鈕,訪客可以直接選時間,不用來回等信,按下去開新分頁導去我自己用的預約連結,版面維持原本的樣子沒有大動。
如果網站的目的是要讓別人聯繫你,留言等回信跟直接約時間這兩條路都留著比較好。有人喜歡先留言問清楚,有人只想直接訂個時間,兩種人都要接得住。
接下來
- 模擬交易儀表板目前還在本機測試,還沒真正對外上線。
- 代購轉貼機器人這幾個網站的補丁是被動發現才修的,還要留意有沒有其他網站也因為改版而抓不到資料。
本篇由跨專案自動彙整產生,素材為 2026-09-17 之後 3 個專案的提交紀錄與 0 則知識投遞。