Install
openclaw skills install mediainsight-ad-traffic-universal查询广告投放流量分布与趋势的数据分析技能。支持按行业、地域、媒体(OTT/移动端)、目标受众等多维度分析广告曝光数据,适用于媒体策略评估、竞品投放监测、行业广告趋势研究等场景。
openclaw skills install mediainsight-ad-traffic-universal从 skill 根目录 执行以下命令可直接体验。 整个 skill 目录可单独打包分享,不依赖仓库其他 Python 模块。
脚本内置了一个公开演示 Token。 这个 Token 权限受限,只能看到有限的行业、广告主、品牌、媒体、地域与数据集。
新建任务默认值:
美妆个护类明略集团明略科技type=1 顶层媒体类目),不是全部具体媒体默认输出可以理解为:
美妆个护类 行业如果用户希望:
则需要使用自己的账号 Token,或单独申请具备对应权限的账号。
python3 ./scripts/submit_ad_task.py \
--task-name '演示:近1月广告流量分布' \
--region-name 北京市 \
--region-name 上海市 \
--region-name 广州市 \
--region-name 深圳市 \
--months-back 1
如需使用自己的权限视图,可显式传入
--jwt或--jwt-file覆盖默认演示 Token。
当用户需要分析广告流量分布或趋势,并提供以下信息时,使用此技能:
美妆个护类。该行业在当前默认 Token 下的实际 ID 为 000000130000000000001960。type=1 顶层媒体类目集合;当前默认 Token 下共 25 个。调用本目录下的脚本:
./scripts/submit_ad_task.py
下载已完成任务结果时,调用:
./scripts/download_ad_task_report.py --biz-id 104433 --extract-dir ./downloads/task-104433
注意:
任务创建成功后,报告文件生成通常还需要额外时间。
实际测试中,文件生成过程可能耗时约 10 分钟,建议至少等待 10 分钟后再执行下载。
如果过早下载,脚本会返回 report file is not ready for download。
sub 字段提取 username 和 password。bizId 或内部 taskId 下载报告 ZIP,并可解压得到 CSV。
报告文件生成可能耗时约 10 分钟,下载前应先等待文件生成完成。--payload-out 参数)。python3 ./scripts/submit_ad_task.py \
--task-name '近2月美妆个护媒体大类流量分布' \
--industry-name '美妆个护类' \
--gender female \
--age-range 20-49 \
--region-name 北京市 \
--region-name 上海市 \
--region-name 广州市 \
--region-name 深圳市 \
--months-back 2 \
--payload-out /tmp/mediainsight-task.json
| 场景 | 参数 |
|---|---|
| 使用默认行业 | 可省略 --industry-name,默认 美妆个护类 |
| 使用默认媒体大类 | 可省略 --media-name 和 --all-media,脚本会自动选择当前 Token 可见的全部 type=1 媒体大类 |
| 仅查询单月数据 | --months-back 1 |
| 指定特定数据集 | --dataset 202603 |
| 指定具体媒体(替代全媒体) | --media-name 爱奇艺 --media-name 腾讯新闻 |
| 指定开放年龄段 | --age-range 20+ 或 --age-range 20岁及以上 |
| 查询全部人群 | --gender all --age-range all |
| 仅解析不提交(调试模式) | --dry-run |
--age-range 不要使用 20-99 这类近似写法。
请直接使用产品语义对应的年龄表达,脚本会自动映射到真实 TA 年龄桶。
20-49:表示 20-24、25-29、30-34、35-39、40-44、45-4920+:表示 20 岁及以上,会覆盖到 60岁及以上20岁及以上:等价于 20+all:表示全部年龄段如果用户说“男 20+”,应使用:
--gender male --age-range 20+
不要改写成:
--gender male --age-range 20-99
脚本输出一个 JSON 对象,包含以下字段:
| 字段 | 说明 |
|---|---|
login | 登录状态 |
session_file | 会话文件路径 |
resolvedPayload | 解析后的完整任务参数 |
coin | 本次任务消耗的积分数 |
create | 任务创建结果(--dry-run 模式下不包含此字段) |
注意:
resolvedPayload.reportArgsAd.mediaList 在三种情况下含义不同:
--all-media:写入当前 Token 可见的全部具体媒体 ID(type=3)--media-name ...:写入用户指定名称解析出的媒体/媒体类目 ID结果下载提醒:
download_ad_task_report.py| 异常现象 | 原因判断 |
|---|---|
| 登录失败 | JWT 无效或已过期 |
| 名称解析失败 | 该名称超出当前账号的权限范围 |
| 积分计算成功但任务提交失败 | 提交链路本身有效,失败原因在任务侧,非技能问题 |