贸易救济数据雷达

【标签】 学习工作

【标题】 【学习工作赛道】贸易救济数据雷达:自动追踪美国反倾销与反补贴调查动态 — 初赛Demo

0. 先和大家打个招呼吧

我是谁:

一名就读于东北财经大学的大三学生,我的导师是数字贸易规则与合规领域的青年学者,手上有教育部课题,急需相关数据支撑实证研究。

我和 TRAE 是怎么配合的:

这个 Demo 完全是我和 TRAE “对话"出来的。我负责当"项目领导”——定义需求、验收成果、决定推进还是返工;TRAE 负责当"执行者"——写代码、修 Bug、跑测试。

最让我觉得"原来这么简单"的时刻,是第一天我让它去探测 Federal Register API 的时候。我以为抓取政府数据要写很复杂爬虫,结果 TRAE 查了一圈告诉我:“这个官网有免费 API,返回 JSON,不需要爬虫。” 连注册都不用,直接就能抓。这个信息差让我少走了至少三天弯路,项目从 0 到跑通只用了 7 天。

它帮我跨过的最大的坎,是"我不知道怎么验证代码对不对"。以前写代码,跑通了就算完,但做数据工具,跑通了不代表数据对。TRAE 帮我设计了一套"验收清单"——每次它写完代码,我不是直接相信,而是让它抽查中间记录、对比人工核验数据、验证边界条件。这种"领导-执行者"的分工模式,让我这个非技术背景的学生也能把一个数据工具从 0 做到可以部署上线。

1. Demo 简介

是什么:

一个基于 Python 的轻量级数据聚合与可视化工具,一键抓取美国联邦公报(Federal Register)反倾销与反补贴公告,自动生成结构化 CSV 和可视化 HTML 看板。

面向谁:

国际贸易法研究者、高校经济/法学院师生、企业出口合规专员、贸易救济领域咨询顾问。

主要功能:

1. 多页自动抓取:连接 Federal Register 官方免费 API,自动翻页抓取,当前覆盖 655 条公告(2026年2月至7月),全量无遗漏。

2. 结构化提取:自动提取涉案国家、产品行业、公告类型(立案/初裁/终裁/复审/命令/终止),并清洗为标准化 CSV。

3. 一键生成看板:运行后自动生成纯静态 HTML 网页,包含趋势图、国别分布、行业分布和最新公告列表,双击即可打开,零后端部署。

产品截图:

2. Demo 创作思路

灵感来源:

帮导师做教育部课题时,需要追踪美国对华反补贴调查动态。导师让我每周去 Federal Register 官网翻公告,手动复制到 Excel 里。做了两周我就崩溃了——信息分散、检索低效、格式混乱。我心想:能不能写个脚本自动抓?但我只会基础 Python,不会爬虫,也不知道美国政府数据有没有 API。和 TRAE 配合后,它帮我探测到 Federal Register 居然有免费官方 API,直接返回结构化 JSON,无需认证。这个信息差让我少走了至少三天弯路。

想解决的问题:

1. 信息极度分散:反补贴公告散落在 Federal Register、ITA、WTO 三个官方渠道,没有一个统一入口。

2. 检索效率低下:官网搜索返回大量无关结果(税率修订、到期通知混杂),需逐条人工筛选。

3. 结构化程度差:关键信息(涉案国、行业、案件编号)埋在 PDF 正文中,无法直接用于数据分析。

为什么做这个方向:

我的判断是"垂直聚焦优于大而全"。市面上已有 Panjiva(年费数万)、WTO I-TIP(免费但滞后3个月)等工具,但它们要么太贵、要么太慢、要么不聚焦反补贴。我换一个思路:不追求"全球贸易数据平台",而是先扎透一个细分领域(美国反补贴公告),用官方免费 API 做一个"小而精"的数据工具,验证"结构化数据聚合能否降低研究成本"这个核心假设。如果验证成立,后续再扩展欧盟 EUR-Lex、WTO 等数据源。

取舍:

初赛不做欧盟数据(EUR-Lex 无开放 API,爬虫复杂度高三倍,时间不够)。

不做实时自动更新(需要 GitHub Actions,初赛时间紧,后续再配)。

不做交互式后端(需要服务器,静态 HTML 足够展示核心能力)。

3. Demo 体验地址

在线体验链接(GitHub Pages):

https://xiaoming-cvd.github.io/trade_remedies_radar/

代码仓库:

演示视频:

本地运行:

git clone https://github.com/xiaoming-cvd/trade_remedies_radar.git

cd trade_remedies_radar

pip install -r requirements.txt

py main.py

运行完成后,双击 dashboard/index.html 即可查看可视化看板。

655 条记录已全部通过官网逐条核对(标题、日期、URL、文档号一致性 100%)。数据可溯源至 federalregister.gov,每条记录都能点击看板标题跳转原文。第三方校验报告已生成,确认无空值、无重复、日期有效、链接可访问。

数据质量验证:

4. TRAE 实践过程

开发流程:整个开发分为 5 个阶段,历时约 7 天,全部通过与 TRAE 的对话式协作完成。

阶段一:数据源探测(Day 1)

我向 TRAE 提出需求:“我想抓取美国反补贴公告数据,从哪入手?” TRAE 调研后确认:Federal Register 有官方免费 API,返回结构化 JSON,无需认证,国内直连。产出:test_day1.py 成功连通 API,抓取 20 条测试数据。

这个信息差是整个项目的支点。如果不是 TRAE 先帮我做信息调研,我可能会花 3 天写一个高风险的爬虫,然后面临反爬机制、HTML 解析、官网改版等维护问题。TRAE 的"先调研再动手"思路,让我用 1 小时就确认了技术路线的可行性,而不是 3 天走弯路。

TRAE 没有直接写代码,而是先做了一个关键决策:帮我探测 Federal Register 官网是否有开放 API。结果发现:官网有免费结构化 API,无需认证,直接返回 JSON,国内可直连。

阶段二:批量抓取与清洗(Day 2-3)

我要求:“从 20 条扩展到全量,并且过滤后不能有 null。” TRAE 编写 fetch_all() 分页逻辑、pipeline/extract.py 字段提取、pipeline/clean.py 数据清洗。关键验收:我发现分类准确率只有 90.6%,有 6 条错误。TRAE 分析后定位是"关键词匹配顺序"问题,修复 classify.py 的优先级后重新验收通过。

阶段三:看板生成(Day 4)

我要求:“生成一个双击就能打开的 HTML 看板,不需要服务器。” TRAE 使用 Jinja2 + Chart.js 实现静态 HTML,包含趋势图、国别分布、行业分布、公告列表。遇到的问题:Jinja2 模板 item.title 被解析为 Python 内置方法,导致表格全部为空。TRAE 修复为 item[“title”] 后解决。

阶段四:联调与部署(Day 5)

我要求:“一条命令完成全部流程。” TRAE 编写 main.py,串联抓取 → 清洗 → 看板生成,耗时约 18 秒。随后部署到 GitHub Pages,获得固定访问链接。

阶段五:数据验证与优化(Day 6-7)

我将自己人工核验的 629 条数据与自动抓取结果对比,确认数量一致。进一步发现数据构成问题:629 条中并非纯反补贴,而是混合了反倾销(AD)公告。TRAE 帮我分析标题关键词分布,明确数据范围定义。最终看板汉化、FR 文档号列优化、GitHub Pages 部署完成。

关键任务截图:

关键任务对话 Session ID:

• 数据源探测与 API 连通性验证:

.3066969846984064:981c97c6741bf429a645c31606c16a8e_6a4a1a8468e97e16b4c55738.6a4a1b7668e97e16b4c55757.6a4a1b759282e3e1a1da2091:Trae CN.T(2026/7/5 16:53:10)

• 批量分页抓取与分类规则修复:

.3066969846984064:f72b362d7ee84eb8b1ba88468944eaba_6a4a1a8468e97e16b4c55738.6a4a1cbd68e97e16b4c55785.6a4a1cbd9282e3e1a1da2092:Trae CN.T(2026/7/5 16:58:37)

• 看板生成与 Jinja2 模板修复:

.3066969846984064:0e901dc0a2daebcb5cf21f08ee5fd4d8_6a4a1a8468e97e16b4c55738.6a4a299968e97e16b4c5588a.6a4a29999282e3e1a1da2095:Trae CN.T(2026/7/5 17:53:29)

• 数据验证与人工核验对比:

.3066969846984064:4fab4db4b2596b94c624b321adb1daf9_6a4a1a8468e97e16b4c55738.6a4a5cd0ed7b1ef966e8d4e4.6a4a5cd09ac12e11a523818f:Trae CN.T(2026/7/5 21:32:00)

• GitHub Pages 部署与看板汉化:

.3066969846984064:73fd43dccc306e4acafa21f5a6476df8_6a4a1a8468e97e16b4c55738.6a4a6e0bed7b1ef966e8d56d.6a4a6e0a9ac12e11a5238191:Trae CN.T(2026/7/5 22:45:31)

(注:以上 5 个 ID 为 TRAE 部分原始任务追踪记录,已按开发阶段对应整理。)

5. 报名审核通过的帖子链接

附:未来规划(扩展方向)

第一阶段:接入欧盟 EUR-Lex 数据

欧盟反补贴公告无开放 API,需通过结构化爬虫提取。预期覆盖欧委会对华反补贴调查(电动汽车、光伏、钢铁等),数据量从 655 扩展至 1500+。

第二阶段:自动化看板(GitHub Actions)

配置定时任务,每天凌晨自动抓取、清洗、重新部署,实现"零维护实时情报看板"。

第三阶段:交互式数据平台

引入 Vue/React + Flask/FastAPI,实现按日期/国家/行业筛选、全文搜索、数据导出,从"个人工具"升级为"开放平台"。

长期愿景:

构建全球贸易救济领域少有的免费、结构化、可追踪的开放数据基础设施。