在OpenRefine中调用Sherpa/Romeo接口获取期刊信息返回空列求助
OpenRefine调用Sherpa/Romeo API返回空列修复方案
1. 修正API请求地址
你当前使用的地址存在两处基础错误,是返回空列的最常见诱因:
- 多余的
www前缀:Sherpa v2 API的正确域名是v2.sherpa.ac.uk,不需要加www - 协议错误:当前Sherpa API已全面停用HTTP服务,必须使用HTTPS协议
2. 校验API密钥配置
- 确认你已经将请求表达式中的
MY-API-KEY替换为自己在Sherpa平台申请的真实可用密钥 - 检查密钥无多余空格、大小写错误,且未超出平台调用频率限制
3. 调整OpenRefine请求配置
在「通过获取URL添加列」的设置面板中做以下调整:
- 添加请求头:新增
Accept: text/xml请求头,避免服务端返回非预期格式内容 - 开启重定向跟随:勾选「跟随重定向」选项,避免301/302跳转响应被直接丢弃
- 设置请求间隔:将两次请求的间隔调整为1秒以上,避免触发平台限流规则返回空内容
4. 前置测试方法
你可以先取单个期刊名拼接成完整请求URL,直接在浏览器中访问确认返回正常:
示例测试URL(替换对应参数后使用):https://v2.sherpa.ac.uk/romeo/api29.php?ak=你的真实密钥&qtype=starts&jtitle=Nature
如果浏览器访问能正常返回XML内容,说明地址和密钥配置无误,问题出在OpenRefine的请求设置上。
5. 修正后的最终请求表达式
"https://v2.sherpa.ac.uk/romeo/api29.php?ak=替换为你的真实API密钥&qtype=starts&jtitle=" + escape(value, "url")
内容的提问来源于stack exchange,提问作者pink-panther
相关产品推荐
相关产品推荐

