快手直播数据爬虫

建立数据连接

if pTCPAddr, err = net.ResolveTCPAddr("tcp", "203.207.118.183:8080"); err != nil {
		return
}

if conn, err = net.DialTCP("tcp", nil, pTCPAddr); err != nil {
	return
}

 发送数据连接直播间

 

y_200 := ps.ncsr("SkqZA2OaJCw") // 直播间id LiveStreamId
d_200 := EncodeVarint(y_200)
send(conn, d_200)

处理消息

scf:= livestream.scf{}
ps.Unmarshal(undata, &scf)

if len(scf.cmf) == 1 && scf.cmf[0].Id == "" {
	fmt.Printf("--- %s ---直播间 观看人数 %s 点赞人数 %s \n",scf.mcf[0].User.UserName, scf.dlwc, scf.dlc)

}else {
	for i,v := range scf.cmf{
		_, _ = fmt.Printf("%s --消息 --%d -- %s >> %s \n",TagMap[newProto.Tag], i, v.User.UserName, v.Content)
	}
	for i,v := range scf.lif{
		_, _ = fmt.Printf("%s --喜欢 -- %d -- %s  \n",TagMap[newProto.Tag], i, v.User.UserName)
	}
	//fmt.Println("礼物")
	for i,v := range scf.gfe{
		_, _ = fmt.Printf("%s --礼物 --%d -- %s >> %d \n",TagMap[newProto.Tag], i, v.User.UserName, v.GiftId)
	}
	//fmt.Println("分享")
	for i,v := range scf.shf{
		_, _ = fmt.Printf("%s --分享 --%d -- %s \n",TagMap[newProto.Tag], i, v.User.UserName)
	}
	//fmt.Println("关注")
	for i,v := range scf.fath{
		_, _ = fmt.Printf("%s --关注 --%d -- %s \n",TagMap[newProto.Tag], i, v.Fans.UserName)
	}
	for i,v := range scf.pcsh{
		_, _ = fmt.Printf("%s --购买 --%d -- %s %s %s \n",TagMap[newProto.Tag], i, v.User.UserName, v.CommodityName, v.JumpToken)
	}
	
	for i,v := range scf.etrf{
		_, _ = fmt.Printf("%s --新观众 --%d -- %s %d %s \n",TagMap[newProto.Tag], i, v.User.UserName, v.Laiyuan)
	}
}

演示效果

分别可以解析到

直播弹幕 、礼物、 新进入房间的观众和来源 、双击点心、分析直播、

带货主播有 某个观众购买了什么商品

快手直播数据爬虫_第1张图片

有意向可以联系QQ  703746019

你可能感兴趣的:(快手直播数据爬虫)