这个技能提供一个命令行接口,用于从官方 API 获取 DAO3(神岛)平台数据。
覆盖两类能力:
所有命令都会向 stdout 输出一个 JSON 对象。
在 scripts/ 目录下运行:
python3 -m dao3_statistics --help
user-profile --user-id 用途:通过用户 ID 获取用户个人资料。
参数:
--user-id :用户 ID。map-info --map-id 用途:通过地图/内容 ID 获取地图详情。
参数:
--map-id :地图(content)ID。map-comments --content-id --limit --offset --order-by --content-type 用途:获取地图/模型的评论列表。
参数:
--content-id :内容 ID(地图/模型 ID)。--limit :返回数量(上游通常限制最大 100)。--offset :偏移量(分页用)。--order-by :排序方式(例如 1=创建时间倒序;4=热度等,具体以接口为准)。--content-type :内容类型(例如 1=地图;2=模型)。map-release --content-id --limit --offset 用途:获取地图发布信息。
参数:
--content-id :地图 ID。--limit :返回数量。--offset :偏移量。user-maps --user-id --limit --offset 用途:获取某个用户发布/关联的地图列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。user-models --user-id --limit --offset 用途:获取某个用户的模型列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。user-favorites --user-id --limit --offset --content-type 用途:获取某个用户的收藏列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。--content-type :收藏内容类型(例如 1=地图;2=模型)。user-recent --user-id --limit --offset 用途:获取某个用户最近游玩列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。user-followers --user-id --limit --offset 用途:获取某个用户的粉丝列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。user-friends --user-id --limit --offset 用途:获取某个用户的好友列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。user-following --user-id --limit --offset 用途:获取某个用户的关注列表。
参数:
--user-id :用户 ID。--limit :返回数量。--offset :偏移量。search --keyword --limit --offset --order-by 用途:通过关键字搜索地图/模型列表。
参数:
--keyword :关键词。--limit :返回数量。--offset :偏移量。--order-by :排序方式(例如 0=推荐/最热;1=最新;具体以接口为准)。示例:
python3 -m dao3_statistics user-profile --user-id 83354
python3 -m dao3_statistics map-info --map-id 100131463
python3 -m dao3_statistics search --keyword "test" --limit 10 --offset 0 --order-by 0
必须同时提供:
--token: DAO3 认证 token--user-agent: 类浏览器的 UA 字符串命令:
msg-comments --offset --limit --token --user-agent 用途:获取“评论消息”列表(站内消息/通知类)。
参数:
--offset :偏移量。--limit :返回数量。--token :认证 token。--user-agent :UA 字符串(会同时用于 user-agent 和 x-dao-ua 请求头)。msg-likes --offset --limit --token --user-agent 用途:获取“点赞消息”列表。
参数:同 msg-comments。
msg-sys --offset --limit --token --user-agent 用途:获取“系统消息”列表。
参数:同 msg-comments。
stats-maps --start-time --end-time --token --user-agent 用途:获取当前用户的地图统计列表(按日期范围)。
参数:
--start-time :开始日期。--end-time :结束日期。--token :认证 token。--user-agent :UA 字符串。stats-player --start-time --end-time --map-id --token --user-agent 用途:获取指定地图的玩家统计数据(按日期范围)。
参数:
--start-time :开始日期。--end-time :结束日期。--map-id :地图 ID。--token :认证 token。--user-agent :UA 字符串。stats-retention --start-time --end-time --map-id --token --user-agent 用途:获取指定地图的玩家留存数据(按日期范围)。
参数:同 stats-player。
stats-behavior --start-time --end-time --map-id --token --user-agent 用途:获取指定地图的玩家行为分析数据(按日期范围)。
参数:同 stats-player。
示例:
python3 -m dao3_statistics stats-player \
--start-time 2025-03-29 \
--end-time 2025-04-04 \
--map-id 100131463 \
--token "YOUR_TOKEN" \
--user-agent "Mozilla/5.0 ..."
如果你需要调用尚未映射为专用命令的端点:
raw --endpoint [--token --user-agent ] 用途:直接请求任意上游 API 端点(适合临时验证/调试/未映射的新端点)。
参数:
--endpoint :以 / 开头的端点路径(可带 querystring)。--token 与 --user-agent :可选;如果该端点需要认证则必须同时提供。示例:
python3 -m dao3_statistics raw --endpoint "/user/profile/83354"
error、endpoint 的 JSON;并可能包含 status_code、response--limit 的取值最大为100。共 1 个版本