采集总览

懂球帝采集字段说明

采集链是固定的。一场比赛先请求总览,总览里的队伍 id 再请求队伍资料和阵容,阵容里的人员 id 再请求人员资料。下面每张表的响应都原样放在 MySQL 的 `body` 里。列表上的名称、比分、运动项目是从这份原文里取出的少量索引,方便翻页,不替代原文。

编号规则:接口里经常同时出现短 id 和 8 位 id。8 位 id 以 `5` 开头,短 id 是去掉这个 `5` 和紧跟着的 `0`。例如队伍 `174008` 与 `50174008` 是同一支队伍,人员 `782206` 与 `50782206` 是同一个人。库里的主键用 8 位 id。

样本比赛 `54623677`:阿达莱特古库对安卡拉力量,全场 1-2。

比赛总览

`GET https://www.dongqiudi.com/api/data/overview/match/{match_id}`

有的编号返回 `[]`。有的返回一个壳:`match_status` 有值,但 `events` 和 `statistics` 是空数组。这两种都按原文保存。只有请求失败(超时、连接错误、HTTP 不是 200)才记入连续失败。

字段含义
status接口结果。`0` 表示这份响应成功,不是比赛状态
match_status比赛状态。`Fixture` 未开始,`Playing` 进行中,`Played` 已结束,`Postponed` 延期,`Suspended` 中断,`Cancelled` 取消
events事件时间轴。键是分钟,如 `30`、`45+45`、`90+3`、`90+90`
statistics双方技术统计。没有数据时是空数组 `[]`,有数据时是对象
archive关联的一篇战报。没有时是空数组
gifCollection比赛动态图列表。这场样本是空数组
gif_name动态图区块标题,样本为「比赛动态」
tendencies按分钟的攻势走势。没有时是 `null`
highscorepersons双方评分最高的球员。没有时是 `null`
loop建议再次请求的间隔,单位秒。样本是 `10`

events 里的一条事件

每一分钟下面有 `teamAEvents`(主队)、`teamBEvents`(客队)。半场、全场放在 `neutralEvents`。

字段含义
code事件类型,见下表
minute_extra补时分钟。键 `90+3` 里这条是 `3`。半场节点 `45+45` 上的 `45`、全场节点 `90+90` 上的 `90` 是分隔标记,不是补时 45 分钟或 90 分钟
person球员名。半场、全场这两条写的是「半场」「全场」
person_id8 位人员 id。半场、全场为 `0`
person_hrefApp 跳转,形如 `dongqiudi:///player/50782206`
score事件发生后的比分,如 `1-0`。换人、黄牌通常是空字符串
reason原因。黄牌样本里出现过「犯规」「对判罚表达异议」
event_pic事件图标地址
sort同一分钟内的排序

这场样本里出现过的 `code`:

code含义
G进球
PG点球进球
AS助攻
YC黄牌
Y2C两黄一红
SI换上
SO换下
HT半场
FT全场。样本的最终比分写在这里:`1-2`

走势里还会出现 `COR`,表示角球。角球不在这场的 `events` 列表里,标在 `tendencies` 上。

statistics

`team_A` 是主队,`team_B` 是客队。

字段含义
id短 id。样本主队是 `174008`
name全名
short_name简称
logo队徽
href8 位 id 跳转,样本为 `dongqiudi:///team/50174008`
formation阵型。这场是空字符串,阵型不在这个接口里
rate球队评分。这场是 `0`
starting_lineup_win_rate首发胜率。这场是 `0`

`list` 的每一行是一项对比。

字段含义
type中文项名。样本有控球率、角球、射门、射正、进攻、危险进攻、黄牌、红牌
en_type英文项名。样本全是空字符串
team_A.value / team_B.value原始数值
per双方合计后的占比。控球率 53 对 47;射门 3 对 5 则是 38 对 63
class数值较小的一侧是 `ranks_l`,较大的一侧是空字符串

archive

字段含义
title战报标题
scheme新闻跳转,形如 `dongqiudi:///news/6565852`
thumb缩略图
description摘要。样本是空字符串
commentsTotal评论数

tendencies

`data` 大约每分钟一个点。

字段含义
x点的序号
y攻势,大约在 -100 到 100
minute只在 0、15、30、半场、60、75、90 这些刻度上有字
team_a_goal / team_b_goal名字像进球,实际是这一分钟要标出来的事件。进球、点球、角球、两黄一红都会出现。角球的 `code` 是 `COR`
team_a_score / team_b_score不是比分。样本全场 1-2,这两个数是 `2968` 和 `2250`,是双方走势累计

事件点里面的 `person.id` 是短 id。`events` 里的 `person_id` 才是 8 位 id。`is_home_team` 在样本里主客都是 `"0"`,不能拿来区分主客。

highscorepersons

`team_A_person` 和 `team_B_person` 是双方评分最高的人。

字段含义
person_id8 位人员 id
person姓名
logo头像
rate评分。样本主队 7.1,客队 6.7
is_mvp是否全场最佳。样本都是 `0`
events这个人在本场的事件,样本里只带了进球
scheme`dongqiudi://v1/data/player/{person_id}`
statistics分项数据。样本是空的
height、shirtnumber、position、nationality_name、foot这场都是空的。完整档案在人员资料接口

队伍资料

`GET https://www.dongqiudi.com/sport-data/soccer/biz/dqd/team/sample/{team_id}?app=dqd&lang=zh-cn`

足球和篮球都走这个地址。`team_id` 用 8 位 id。

字段含义
team_id8 位队伍 id
team_name中文名
team_en_name英文名
team_logo队徽
team_logo_md5队徽校验。样本常为空
country国家
country_logo国旗
city城市
address地址
telephone电话
email邮箱
founded成立年份
venue_name球场
venue_capacity球场容量
color队色
rank一段展示文字,例如世界排名和总身价,不是纯数字
market_value身价,单位是欧元的整数字符串。`5530000` 即 553 万欧元
nickname绰号
bg_img背景图
sport_type`soccer` 或 `basketball`。决定下面用哪份阵容接口
type`club` 俱乐部,或国家队等其他值
league_id联赛 id。样本里见过 `"0"`
description若干行展示。每行有 `key`、`value`,有的带 `scheme`。样本有「中超排名」「联赛战绩」「最近5场」
info_url资料页 H5
tabs页签。`title` 是名称,`type` 是打开方式(`native_news`、`native_schedule`、`h5` 等),`url` 是页签地址,`tab` 是页签代码
scheme样本里是用户主页跳转,不是队伍跳转
pk_btn对比按钮。`scheme` 里用的是短 id,如 `dongqiudi:///data_pk/team/328`

这份资料没有队员列表。队员 id 在下一份阵容接口里。

足球阵容

`GET https://www.dongqiudi.com/sport-data/soccer/biz/dqd/v1/team/member_v2/{team_id}?app=dqd&lang=zh-cn`

字段含义
code`0` 表示成功
message错误说明。成功时是空字符串
data.list分组。一组一个位置
seasons历史阵容季列表

分组:

字段含义
type`coach` 教练组,`attacker` 前锋,`midfielder` 中场,`defender` 后卫,`goalkeeper` 门将
title中文组名
data这一组的人

球员行:

字段含义
person_id8 位人员 id。人员资料接口用这个
person_name中文名
person_en_name英文名
person_logo头像
shirtnumber球衣号
age年龄,带「岁」,如 `29岁`
type位置代码,与分组的 `type` 相同
scheme`dongqiudi:///player/{person_id}`
nationality_name国籍。有的行是空的,国籍以头像旁的 `nationality_logo` 和图标为准,人员资料接口里有文字
nationality_logo国旗
other_logo其他标志,可能是空数组
captain_logo队长标志。不是队长时为空
weekly_salary周薪。空字符串表示没有
statistic一组展示数字。每一项是只有一个键的对象,样本见过「出场」「进球」「助攻」「身价(欧)」。身价的值是「120万」这种展示文字,不是欧元整数
transfer_data转会信息。样本里见过 `null`

教练行没有球衣号。`type` 是职务文字,如「主教练」。`scheme` 是 `dongqiudi:///coach/{person_id}`。人员资料仍用同一个 8 位 id。

`seasons` 的一项:

字段含义
name赛季名,如 `2026`
current是否当前赛季
id当前赛季样本是 `0`,不是资料库里的 season_id
url该季阵容地址,查询参数里有 `season` 和 `current`
sort排序
start_date / end_date样本里是空字符串
sport_type样本里是空字符串

篮球阵容

篮球队伍的 `member_v2` 经常是空对象。阵容改走:

`GET https://sport-data.dongqiudi.com/soccer/data/team/person/technic/{短id}`

地址里虽然有 `soccer`,篮球队伍用短 id 请求这份才有人。

字段含义
coach教练列表
player球员列表
tab球员表的列名。样本为出场/首发、时间、得分、篮板、助攻、投篮、三分、罚球、前板、后板、抢断、失误、盖帽、犯规

教练行:

字段含义
id短 id
name姓名
place职务,如「主教练」
age年龄,数字
photo头像
scheme`dongqiudi:///player/{8位id}`。采集人员资料时用 scheme 里的 8 位 id
player_id样本里教练这项是 `0`,不能拿它当人员 id
salary、country、height、weight样本里教练多为空或 `0`

球员行:

字段含义
player_id短 id
player_name姓名
scheme8 位 id 在这里
number球衣号
place位置,如「前锋」
age年龄
height身高,厘米
weight体重,公斤
photo头像
injury是否伤病。`0` 为否
salary薪水。样本有空字符串
season_id这份技术统计所属赛季
team_id短的队伍 id
technic与 `tab` 一一对应的字符串数组

人员资料

`GET https://www.dongqiudi.com/sport-data/soccer/biz/dqd/v1/person/sample/{person_id}?app=dqd&lang=zh-cn`

足球和篮球都走这个地址,`person_id` 用 8 位 id。

字段含义
person_id8 位人员 id
person_name中文名
person_en_name英文名
person_logo头像
nickname绰号
status样本见过 `active`
nationality国籍文字
nationality_logo国旗
other_nationality / other_nationality_logo第二国籍。没有时为空
date_of_birth生日,`YYYY-MM-DD`
age年龄,带「岁」
height身高厘米。篮球样本是 `"203"`,足球样本是 `"185"`
weight体重公斤
foot惯用脚,如「右脚」。篮球样本可能为空
type样本球员为 `player`
position位置代码,如 `attacker`。篮球样本可能为空,位置看 `team_info.role`
info简介。样本见过空字符串
market_value身价展示数。足球样本 `"2.5"`,同一份响应的 `crosswise` 写的是「身价2.5万欧」,所以这里的单位是万欧元,不是队伍资料里的欧元整数
weekly_salary周薪
contract合同
color颜色
sport_type`soccer` 或 `basketball`
team_info.team_id当前队伍的 8 位 id
team_info.team_name当前队伍名
team_info.team_logo队徽
team_info.shirtnumber球衣号
team_info.role位置文字,如「前锋」
team_info.color队色
ability_url能力值页。查询参数里的 id 是短 id
info_url资料页,用 8 位 id
aid_info_url / coach_player_url另两份资料页地址
tabs页签。样本有动态、数据、比赛、能力值、资料。`url` 是对应 H5
description纵向说明。样本见过空字符串
crosswise_description横向两行展示文案,第二行含身高、体重和身价
lengthways_description竖向展示,如年龄、队伍和号码、位置和惯用脚
crosswise横向展示的结构数据
pk_btn.scheme对比按钮,用短 id,如 `dongqiudi:///data_pk/player/102198`

人员资料里的当前队伍,和阵容接口把这个人列进哪支队伍,可能不是同一支。库里两份原文都保留。列表上的「队伍」用来自人员资料的 `team_info`。