本次带来的是策略中心的画像抓取,基本和数据银行差不多,首先进入策略中心后,点击消费者-消费者细分-选一个人群包透视,就能看到用户画像了。那么开始抓包吧。
发起请求部分,变量参数是id(每个标签对应唯一id),那就很简单了,把id全部搞下来就行了,我选择手敲,毕竟后续还要对应标签名称,还有一个rid,通过str(int(time.time() * 1000)) + str(self.count).zfill(2)生成,count起初为0,每发起一次请求count=count+1
headers部分Sec-WebSocket-Key是通过base64.b64encode(os.urandom(16)).decode(‘utf-8’).strip()生成
看到这里大家应该会有疑问,似乎提交的参数里没有指定人群包id,他是怎么知道我现在选择的是哪个人群包的呢,其实是通过cookie来判断的,经过测试,不同的cookie代表不同的人群包,这个过程是通过get一个指定人群id的网址来实现的,就是下面这个
来理一下思路,首先要获取x-csrf-token和人群id,然后get指定网址获得cookie,然后开启websoket提交带有标签id的json数据,即可获取数据,至于怎么处理获取的数据,就不多说了吧,都是小问题,ok上代码
小技巧:快速手敲标签id,以及他的对应名称,找到这个message,没啥特点,就是在一大堆请求的上方,仔细找找就能找到,然后双击全选复制,去https://json-csv.com黏贴进去,然后DOWNLOAD CSV,第三张图可以看到标签名和对应的id都出来了
下面展示一下结果