中国油价查询技能
基于 v1.apizero.cn 免费 API 的中国各省实时油价查询工具。
核心功能
- ✅ 查询指定省份的实时油价数据
- ✅ 显示油价更新日期和下次调整时间
- ✅ 显示各油品类型及详细价格信息
- ✅ 自动计算油价涨跌趋势和幅度
- ✅ 美观的终端输出格式
重要提示:本工具使用
v1.apizero.cnAPI,该 API 仅提供省级汇总数据,不包含城市级别(如"南京")的油价信息。
核心限制
⚠️ 仅支持省级查询:本技能无法查询城市级油价(如"南京"、"北京"等城市代码),因为 API 返回的是省级汇总数据。
- 传入"南京"或南京城市代码
320000时,会返回江苏省的省级油价数据 - API 返回结构中的
province字段为省份简称(如"江苏") prices数组包含该省份所有城市的油价数据,但不提供城市代码对应的单独条目
使用方法
基本命令
cd ~/.openclaw/workspace/skills/oil-price-query
# 查询江苏省实时油价
python3 oil_price.py 江苏省
# 查询其他省份(支持简称)
python3 oil_price.py 江苏
python3 oil_price.py 京
python3 oil_price.py 北京市
# 查询全国油价概览
python3 oil_price.py
支持查询
| 查询类型 | 命令 | 说明 |
|---|---|---|
| 省级油价 | python3 oil_price.py [省份] |
查询指定省份当前油价 |
| 全国概览 | python3 oil_price.py |
查询全国 31 个省份油价 |
省份简称映射
| 全称 | 简称 | 全称 | 简称 |
|---|---|---|---|
| 北京 | 京 | 安徽 | 皖 |
| 天津 | 津 | 福建 | 闽 |
| 河北 | 冀 | 江西 | 赣 |
| 山西 | 晋 | 山东 | 鲁 |
| 内蒙古 | 内蒙古 | 河南 | 豫 |
| 辽宁 | 辽 | 湖北 | 鄂 |
| 吉林 | 吉 | 湖南 | 湘 |
| 黑龙江 | 黑 | 广东 | 粤 |
| 上海 | 沪 | 广西 | 桂 |
| 江苏 | 苏 | 海南 | 琼 |
| 浙江 | 浙 | 重庆 | 渝 |
| 四川 | 川 | 贵州 | 贵 |
| 云南 | 云 | 西藏 | 藏 |
| 陕西 | 陕 | 甘肃 | 甘 |
| 青海 | 青 | 宁夏 | 宁夏 |
| 新疆 | 新 |
油品类型说明
| 油品 | 说明 |
|---|---|
| 89 号汽油 | 主要用于部分出租车和老式车辆 |
| 92 号汽油 | 适用于大多数家用车 |
| 95 号汽油 | 适用于中高端车辆 |
| 98 号汽油 | 适用于高性能车辆 |
| 0 号柴油 | 普通柴油(适用于 -5℃以上环境) |
| -10 号柴油 | 适用于 -10℃以上环境(寒冷地区) |
注:部分省份可能不提供某些油品类型。
示例
查询江苏省油价
$ python3 oil_price.py 江苏省
正在查询 江苏省 油价...
============================================================
中国油价查询 - 江苏省
更新日期:2026-10-12
下次调整:下次油价 10 月 15 日 24 时调整
============================================================
## -10 号柴油
-10 号柴油:
当前价格:8.75 元/升
油品类型:diesel_10
## 0 号柴油
0 号柴油:
当前价格:8.26 元/升
油品类型:diesel_0
## 92 号汽油
92 号汽油:
当前价格:8.58 元/升
油品类型:gasoline_92
## 95 号汽油
95 号汽油:
当前价格:9.12 元/升
油品类型:gasoline_95
## 98 号汽油
98 号汽油:
当前价格:11.19 元/升
油品类型:gasoline_98
============================================================
查询完成!
============================================================
查询全国油价概览
$ python3 oil_price.py
正在查询全国油价...
============================================================
中国油价查询 - 全国油价概览
更新日期:2026-10-12
============================================================
## 北京市
- 92 号汽油:8.72 元/升
- 95 号汽油:9.28 元/升
- 98 号汽油:10.78 元/升
- 0 号柴油:8.46 元/升
- -10 号柴油:8.95 元/升
## 上海市
- 92 号汽油:8.67 元/升
- ...
## 江苏省
- 92 号汽油:8.58 元/升
- ...
(省略其他省份...)
查询不支持的城市(如南京)
$ python3 oil_price.py 南京
正在查询 南京 油价...
============================================================
中国油价查询 - 江苏省
更新日期:2026-10-12
下次调整:下次油价 10 月 15 日 24 时调整
============================================================
## -10 号柴油
-10 号柴油:
当前价格:8.75 元/升
...
============================================================
查询完成!
============================================================
注意:查询"南京"时返回的是江苏省的省级油价数据,因为 API 不提供城市级明细。
文件结构
oil-price-query/
├── oil_price.py # 核心油价查询脚本(Python)
├── SKILL.md # 技能说明文档
├── README.md # 使用说明
├── _meta.json # 元数据文件
└── data/
└── provinces.json # 省份名称映射数据
脚本逻辑说明
1. API 请求
- API 地址:https://v1.apizero.cn/api/oil-price?province={省份名称}
- 参数:省份名称(支持全称或简称,自动 URL 编码)
- 返回结构:
{ "code": 0, "data": { "province": "江苏", "prices": [ { "name": "92 号汽油", "price": 8.58, "unit": "元/升" }, { "name": "95 号汽油", "price": 9.12, "unit": "元/升" } ], "next_adjustment": "下次油价 10 月 15 日 24 时调整", "update_date": "2026-10-12" } }
2. 省份名称标准化
通过 data/provinces.json 文件,将用户输入的省份名称(全称或简称)映射为标准简称:
PROVINCE_MAP = {
"北京": "京", "北京市": "京",
"江苏省": "江苏", "江苏": "江苏",
# ... 其他省份
}
3. 油品名称匹配
API 返回的油品名称无空格(如"92 号汽油"而非"92 号 汽油"),脚本通过 standardize_fuel_name() 函数处理:
def standardize_fuel_name(fuel_name: str) -> str:
"""标准化油品名称,移除多余空格"""
fuel_name = fuel_name.strip()
fuel_name = re.sub(r'\s+', '', fuel_name)
return fuel_name
4. 输出格式化
使用 format_output() 函数动态从 oil_data.keys() 获取油品列表,确保显示名称正确且有序:
fuel_order = sorted(oil_data.keys(), key=lambda x: FUEL_MAP.get(x, x))
其中 FUEL_MAP 定义油品显示顺序:
FUEL_MAP = {
"89 号汽油": "89 号汽油",
"92 号汽油": "92 号汽油",
"95 号汽油": "95 号汽油",
"98 号汽油": "98 号汽油",
"0 号柴油": "0 号柴油",
"-10 号柴油": "-10 号柴油"
}
5. 涨跌趋势计算
根据 API 返回的 price_change 和 price_change_trend 字段,计算并显示油价涨跌趋势和幅度。
注意事项
- ⚠️ 仅支持省级查询:无法查询城市级油价(如"南京"、"北京"等)
- 支持省份全称和简称查询
- 部分省份可能不提供某些油品类型(如 89 号汽油、-10 号柴油)
- 油价数据来源于免费 API,可能延迟更新
- API 返回的涨跌趋势为预测值,以官方发布为准
- 建议使用省份简称查询(如"江苏"),但全称也可正常工作
- 查询不支持的城市(如"南京")时,会返回其所属省份的油价数据
数据来源
- API 地址:https://v1.apizero.cn/api/oil-price
- API 说明:免费开放的油价数据 API,提供全国省级油价信息
- 访问方式:HTTP GET 请求,参数为省份名称的 URL 编码值
- 省份映射数据:
data/provinces.json
依赖
- Python 3.x
- requests 库
- 标准库(json, re, datetime, argparse)
许可证
MIT License
