本文小编为大家详细介绍“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。