您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“python彈幕網實例分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“python彈幕網實例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
首先呢,打開改網站隨便點個直播間,當然要有人發彈幕。
觀察彈幕和請求,發現并沒有很多的請求,那我們看看ws(websocket)
點這個清空記錄然后我們刷新一下頁面
然后發現一堆我們一個一個觀察
我們可以看到,都是這種二進制的,我們堆棧進去看看
當我們下斷點之后,發現他彈幕就沒了,放行之后彈幕就滾動出來了
跟進去這個函數,這個e參數在這個三元表達式里面處理我們繼續看
this.protoLink.isWs()
判斷這個,我們看到isWs,那肯定是ws所以我們看第一個
我們看這個函數 onProto,一般有經驗的可以看出來是一種tlv結構,去掉on剩下Proto谷歌開源了一個pb全稱Google Protocol Buffer又簡稱Protobuf,,然后我們就可以一步一步分析下去,只要掌握了堆棧大法,我們就可以為所欲為的分析任意網站。
Protocol Buffer
??Google Protocol Buffer又簡稱Protobuf,它是一種很高效的結構化數據存儲格式,一般用于結構化數據的串行化,簡單說就是我們常說的數據序列化。這種序列化的協議非常輕便高效,而且是跨平臺的,目前已支持多種主流語言(3.0版本支持C++, JAVA, C#, OC, GO, PYTHON等)。
??通過這種方式序列化得到的二進制流數據比傳統的XML, JSON等方式的結果都占用更小的空間,并且其解析效率也更高,用于通訊協議或數據存儲領域是非常好的。
??再者,其使用的方式也非常簡單,我們只需要預先定義好消息(message)的數據格式,然后通過其提供的compiler即可生成對應的文件,在那些文件里定義和實現了操作這個數據結構所有字段的setter/getter方法,我們只需要使用這些方法設置該數據結構的字段,然后通過序列化方法即可得到需要的結果(二進制數據流)。
讀到這里,這篇“python彈幕網實例分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。