首页 > 其他分享 >爬虫对于protobuf协议的处理

爬虫对于protobuf协议的处理

时间:2023-01-29 15:35:59浏览次数:31  
标签:__ 协议 protobuf proto xxx personinfo 爬虫 test import

第一步处理

1.首先抓包

2.复制请求值的hex

3.打开010编辑器

4.创建hex file

5.ctrl +shift +c复制内容,并保持

6.protoc --decode_raw <存的文件路径

1: 1
2: 1650001082017
3: 1998484019
4: 3820464515
5 {
  1: "appV"
  2: "60000"
}

第二步编辑proto文件

1.创建xxx.proto

2.更具上述内容编写文件

syntax = "proto3";
message T{
    int32 test_1 = 1;
    int64 test_2 = 2;
    int64 test_3 = 3;
    int64 test_4 = 4;
    repeated PersonInfo personinfo = 5;
}

message PersonInfo{
    string key = 1;
    string value = 2;
}

3.输出对应的py文件

#移动到xxx.proto所在目录
protoc --python_out=./ xxx.proto
#prop.proto冒号后面那个点和文件名之间有个空格,忘记加空格了不会编译通过,会报错:Missing input file.

第三部编辑python文件

import xxx
import base64
import gzip
import zlib

def create_t():
    T = xxx.T()
    T.test_1 = 1
    T.test_2 = 1650001082017
    T.test_3 = 1998484019
    T.test_4 = 3820464515
    personinfo =T.personinfo.add()
    personinfo.key = 'A'
    personinfo.value = 'B'
    serializeToString = T.SerializeToString()
    gzipbytes = gzip.compress(serializeToString)
    base64_str1 = base64.b64encode(serializeToString)
    return gzipbytes
    
if __name__ == '__main__':
		#解析
    with open("zeus_my","rb") as fr:
        data =fr.read()
    T = xxx.T()
    T.ParseFromString(data)
    print(T)

标签:__,协议,protobuf,proto,xxx,personinfo,爬虫,test,import
From: https://www.cnblogs.com/pythonywy/p/17072783.html

相关文章

  • 通信协议面试题
    1.名词解释IP协议TOC协议UDPIP协议分组交换协议不可靠传输一个数据包自动分成若干小的数据包然后通过网络进行传输TCP协议传输控制协议可靠协议建立在IP协议之......
  • 网络爬虫(三)爬取B站视频
    尝试着用request库去爬取了一些B站视频参考和抄了一些博主的代码和思路,我略作了修改,目前是不能爬取带分页的视频(只需要略作修改,也可爬取):b站视频爬虫_哔哩哔哩_bilibiliP......
  • Java与opc通信之三 - s7协议(s7connector)
    1、引入依赖<dependency><groupId>com.github.s7connector</groupId><artifactId>s7connector</artifactId><version>2.1</vers......
  • Java与opc通信之二 - s7协议(HslCommunication)
    1、引入依赖<dependency><groupId>com.github.dathlin</groupId><artifactId>HslCommunication</artifactId>......
  • 爬虫入门第1课:代理池概述及开发环境
    1.什么是代理池代理池就是有代理IP组成的池子,它可以提供多个稳定可用的代理IP2.为什么要实现代理池我们在做爬虫的时候,最常见一种反爬手段就是ip反爬;也就是当同一......
  • 分布式协议与算法-Paxos算法
    1.BasicPaxos假设我们要实现一个分布式集群,这个集群是由节点A、B、C组成,提供只读KV存储服务。你应该知道,创建只读变量的时候,必须要对它进行赋值,而且这个值后续没办......
  • js逆向——酷狗音乐&酷狗音乐爬虫
    寒假期间当然要开卷了。今天我们要爬取酷狗音乐的歌曲,个人觉得酷狗还是比较容易的。虽然付费音乐的apl我没找到,但有个会员就能听,能听就能下载,就不用单曲购买了,会员到期了也......
  • IM通讯协议专题学习(八):金蝶随手记团队的Protobuf应用实践(原理篇)
    本文由金蝶随手记技术团队丁同舟分享。1、引言跟移动端IM中追求数据传输效率、网络流量消耗等需求一样,随手记客户端与服务端交互的过程中,对部分数据的传输大小和效率也有......
  • Netty自定义协议要素
    魔数:用来判断是否是无效数据包协议版本号:可以支持协议的升级序列化算法:消息正文使用哪种序列化方式,可以扩展。例如:protobuf,json,hessian等指令类型:跟业务相关,例如:登录,注......
  • Python爬虫实践代码示例
    对于刚入门爬虫的小伙伴来说,累积经验多练习代码是非常有必要的,下面就是有关爬虫的一些小案例,欢迎大家指正。importrequestsfrombs4importBeautifulSoup#importpandas......