需通过模拟登录获取百度账号Cookie,用Python生成AES加密参数后硬编码至Coze HTTP节点,调用百度指数接口并解密响应,最终结构化输出三品牌周度搜索热度数据。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在扣子(Coze)Bot中实时获取百度指数数据,监控“华为手机”“小米手机”“OPPO手机”三个品牌词的周度搜索热度波动,以便快速响应营销节奏。但百度指数官方不开放公开API,所有合法调用必须通过模拟登录+加密请求+动态解密三重机制完成,直接填入URL或Token会返回空数据。
准备百度账号与登录凭证
打开百度指数官网(index.baidu.com),用你的百度账号登录。注意:必须是已实名、近30天有活跃搜索行为的账号,【新注册未使用过的账号无法获取有效Cookie】。
登录成功后,按F12打开开发者工具→切换到Application标签页→展开Cookies→复制domain为“.baidu.com”的全部Cookie内容(含BDUSS、PTOKEN、STOKEN等至少7项),粘贴保存为txt文件备用。
在扣子Bot中配置HTTP请求节点
进入Coze Bot编辑器→添加「HTTP 请求」插件节点→选择POST方法→URL填写:https://index.baidu.com/Interface/api/MultiGetIndex。
Headers中必须添加三项:
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/plain, */*
Referer: https://index.baidu.com/v2/index.html
Body选择x-www-form-urlencoded格式,填入以下字段:
area: 0(全国)
word: [{"name":"华为手机","wordType":1},{"name":"小米手机","wordType":1},{"name":"OPPO手机","wordType":1}]
startDate: 2026-06-27
endDate: 2026-07-03
dataType: search
注入动态加密参数
百度指数接口拒绝明文请求。你必须在Body中额外加入encrypt_data字段,其值为JSON字符串,结构如下:
{"data": {"uniqid": "xxx", "key": "yyy", "cipher_text": "zzz"}}
其中uniqid和key需通过首次请求/Interface/api/GetIndex接口获得;cipher_text需用AES-CBC模式、PKCS#7填充、从Cookie中提取的密钥加密原始关键词数组。这一步无法在Coze原生节点完成,【必须先用Python脚本生成encrypt_data,再将结果硬编码进Coze Body】。
推荐做法:本地运行Qdata SDK中的baidu_index.get_encrypt_json()函数,传入关键词列表与日期,输出完整encrypt_data字符串,复制粘贴进Coze HTTP节点Body。
解析并结构化返回数据
HTTP节点响应体是加密JSON,需在后续「代码」插件中解密:
① 从response.data.data中提取encrypt_data字段
② 调用common.decrypt_func(key, encrypt_data)还原为明文
③ 解析出searchData数组,每个元素含date、value(PC+无线加权值)、type字段
④ 过滤掉value为-1的异常点(百度对低频词返回-1)
最终输出格式示例:
{"华为手机": [{"date":"20260627","value":12450}], "小米手机": [{"date":"20260627","value":8920}]}
这一步完成后,数据已可接入「发送消息」或「数据库写入」节点,触发告警或存档。


















