目录

百度数据开放平台

背景

查询百度大数据用户关注各个行业的权重

原理

前端xid通过js写入,百度从cookie对应到这些xid的baiduid(一般访问百度的网站会分配baiduid),可以返回画像,所以并不是每个用户都有画像返回,PC端覆盖率在60%左右,移动端覆盖90%左右,这个叫id打通的折损。

前端

<script> 
	var _hmt = _hmt || []; 
	_hmt.push(["_setUserId", "A20880073298825349672116690510937"]); 
	(function() { 
		var hm = document.createElement("script"); 
		hm.src = "//hm.baidu.com/hm.js?7e2a581c5aad40c5b3c4ef36a1e52c24"; 
		var s = document.getElementsByTagName("script")[0]; 
		s.parentNode.insertBefore(hm, s); 
	})(); 
</script>

后端

public static void main(String[] str) throws Exception {
	String domain = "trade.cinvestors.com.cn";//域名
	String xid = "A20880075856940241319371911910919";//轮询用户类型+openid
	String exKey = "03aad4ce6eab959a1f2d7b2da07bf0ac";//当前域名的密钥
	long timestamp = Math.round(new Date().getTime() / 1000);//时间戳
	String secret = Base64.encodeBase64String((domain + xid + exKey + timestamp).getBytes());//base64加密
	secret = EncryptUtils.md5Digest(secret);//md5
	String url = "http://bdplus.baidu.com/portrait?tag=&domain=" + domain + "&xid=" + xid + 
			"&timestamp=" + timestamp + "&secret=" + secret;//url
	String content = HttpClientUtils.getWebContentByGet(url);//get请求
	System.out.println(content);//输出
}

输出如下:

{
    "Error": "",
    "Result": [
        {
            "tag": "",
            "tagid": 10000000,
            "weight": 98
        },
        {
            "tag": "",
            "tagid": 10020100,
            "weight": 50
        },
        {
            "tag": "",
            "tagid": 10020200,
            "weight": 64
        },
        {
            "tag": "",
            "tagid": 10020300,
            "weight": 50
        },
        {
            "tag": "",
            "tagid": 10040100,
            "weight": 36
        },
        {
            "tag": "",
            "tagid": 10040200,
            "weight": 73
        },
        {
            "tag": "",
            "tagid": 10040300,
            "weight": 41
        },
        {
            "tag": "",
            "tagid": 10040400,
            "weight": 62
        },
        {
            "tag": "",
            "tagid": 10040500,
            "weight": 38
        },
        {
            "tag": "",
            "tagid": 12000000,
            "weight": 36
        },
        {
            "tag": "",
            "tagid": 13000000,
            "weight": 93
        },
        {
            "tag": "",
            "tagid": 13040000,
            "weight": 49
        },
        {
            "tag": "",
            "tagid": 13090000,
            "weight": 84
        },
        {
            "tag": "",
            "tagid": 16000000,
            "weight": 60
        },
        {
            "tag": "",
            "tagid": 16080000,
            "weight": 60
        },
        {
            "tag": "",
            "tagid": 18000000,
            "weight": 85
        },
        {
            "tag": "",
            "tagid": 18030000,
            "weight": 70
        },
        {
            "tag": "",
            "tagid": 18070000,
            "weight": 43
        },
        {
            "tag": "",
            "tagid": 19000000,
            "weight": 91
        },
        {
            "tag": "",
            "tagid": 23000000,
            "weight": 32
        },
        {
            "tag": "",
            "tagid": 24000000,
            "weight": 99
        },
        {
            "tag": "",
            "tagid": 24010000,
            "weight": 74
        },
        {
            "tag": "",
            "tagid": 24020000,
            "weight": 32
        },
        {
            "tag": "",
            "tagid": 25000000,
            "weight": 95
        },
        {
            "tag": "",
            "tagid": 28000000,
            "weight": 72
        },
        {
            "tag": "",
            "tagid": 28070000,
            "weight": 32
        },
        {
            "tag": "",
            "tagid": 29000000,
            "weight": 61
        },
        {
            "tag": "",
            "tagid": 29060000,
            "weight": 50
        },
        {
            "tag": "",
            "tagid": 31000000,
            "weight": 97
        },
        {
            "tag": "",
            "tagid": 31010000,
            "weight": 36
        },
        {
            "tag": "",
            "tagid": 31020000,
            "weight": 30
        },
        {
            "tag": "",
            "tagid": 31030000,
            "weight": 36
        },
        {
            "tag": "",
            "tagid": 32000000,
            "weight": 34
        },
        {
            "tag": "",
            "tagid": 33000000,
            "weight": 49
        },
        {
            "tag": "",
            "tagid": 34000000,
            "weight": 49
        },
        {
            "tag": "",
            "tagid": 34020000,
            "weight": 31
        },
        {
            "tag": "",
            "tagid": 34070000,
            "weight": 31
        },
        {
            "tag": "",
            "tagid": 34120000,
            "weight": 31
        },
        {
            "tag": "",
            "tagid": 36000000,
            "weight": 53
        },
        {
            "tag": "",
            "tagid": 36010000,
            "weight": 53
        }
    ]
}

异常

errno 说明
100 参数错误
101 请求过于频繁,请稍后重试
102 当日调用次数配额已用尽
103 该xid近期无数据
104 密钥验证失败
106 系统中未找到该xid
107 非法的标签
其它 服务器错误,请联系管理员

网站

http://datamart.baidu.com/