用python怎么不刷新網頁而監控網頁變化?
這需求不僅僅是python的問題,python更多是負責服務端的處理的部門,網頁展示應該歸到web前端。
目前大致有這幾個處理方式:
1. Ajax long-pooling長輪詢方式,前端永遠不斷的去請求服務端,不管服務端的數據有沒有發生變更,這種方式會造成服務端請求資源浪費。
2. web socket方式,該方式需要前端和服務端配合協作,服務端啟動web socket監聽,前端啟動web socket連接。服務端一旦發生數據更新,主動把數據推送給監聽的連接,前端只需監聽數據事件就可以,一旦監聽到新的數據事件,就可以更新頁面上的 DOM。
以上兩種方式,各有利弊,Ajax長輪詢機制實現上面比較簡單點,只需簡單的定時去請求服務接口,存在數據delay。web socket實現比較復雜些,需要服務端建立一套完善的socket通信機制,技術考慮上要多一些。