You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python requests调用ESCO REST API获取概念体系数据遇阻求助

解决ESCO REST API调用问题(使用requests库)

问题根源

你当前请求返回空数据的原因是参数使用错误:isInScheme=22对应的体系没有匹配的职业数据,且主概念体系的正确标识并非22。

正确获取主概念体系的方法

完全可以用requests库获取ESCO主概念体系数据,以下是具体实现步骤:

1. 简化请求头

无需冗余请求头,保留必要字段即可:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36',
    'Accept-Language': 'en'  # 可改为zh指定中文返回
}

2. 获取主职业体系数据

ESCO主职业体系的ID为0,用这个参数发起请求即可获取有效数据:

# 获取主职业体系的职业列表,默认返回20条
url = 'https://ec.europa.eu/esco/api/resource/occupation?isInScheme=0'
response = requests.get(url, headers=headers)

3. 分页获取更多数据

通过limit和offset参数实现分页,获取超过默认20条的数据:

# 每页获取50条,从第0条开始
url = 'https://ec.europa.eu/esco/api/resource/occupation?isInScheme=0&limit=50&offset=0'
response = requests.get(url, headers=headers)

4. 解析响应数据

成功请求后,可按如下方式提取有效信息:

if response.status_code == 200:
    data = response.json()
    print(f"总职业数量: {data['total']}")
    print("前5个职业信息:")
    for occ in data['concepts'][:5]:
        print(f"- 名称: {occ['preferredLabel']['en']}, ID: {occ['id']}")
else:
    print(f"请求失败,状态码: {response.status_code}")

5. 获取所有概念体系列表

如果需要确认其他体系的ID,可调用接口获取全部体系信息:

url = 'https://ec.europa.eu/esco/api/resource/scheme'
response = requests.get(url, headers=headers)
schemes = response.json()['concepts']
for scheme in schemes:
    print(f"体系名称: {scheme['preferredLabel']['en']}, ID: {scheme['id']}")

扩展说明

若需获取技能、能力等其他类型的概念数据,只需将URL中的occupation替换为skill或competence即可,参数规则保持一致。

内容的提问来源于stack exchange,提问作者The Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:00:59