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

爱尔兰无家可归数据API对接问题及数据格式选择咨询

问题解决与方案建议

1. 修复JSONDecodeError

你请求的链接返回的是HTML页面而非JSON数据,这就是调用.json()失败的核心原因——即便URL带了api=true,这个参数仅标识页面为API相关的搜索结果页,并非真正的JSON接口。

解决步骤:

  • 先打印响应内容确认类型:
    import requests
    
    url = "https://data.gov.ie/dataset?q=homeless&api=true&sort=score+desc%2C+metadata_created+desc&theme=Housing"
    r = requests.get(url)
    print(r.text[:500])  # 查看前500字符,会发现是HTML代码
    
  • 改用平台标准JSON API接口:该平台基于CKAN框架,正确的数据集搜索接口为/api/3/action/package_search,调整URL后即可正常解析:
    api_url = "https://data.gov.ie/api/3/action/package_search?q=homeless&sort=score+desc%2C+metadata_created+desc&fq=theme:Housing"
    r = requests.get(api_url)
    data = r.json()  # 此时可正常解析JSON
    

2. API Key 获取说明

对于公开数据的读取操作,不需要API Key。仅当你需要上传数据、修改数据集等写操作时,才需登录平台账户,在个人设置页面获取API密钥。当前场景仅需读取数据,直接调用上述接口即可。

3. CSV vs JSON 格式选择

优先选CSV格式,理由如下:

  • 无家可归相关数据多为结构化表格(如统计日期、地区、人数等),CSV的行列表结构完全匹配,Tableau导入时无需额外处理嵌套结构。
  • CSV文件体积更小,下载和解析速度更快,适配自动更新场景。
  • 若某数据集仅提供JSON格式,可通过Python将其转换为CSV后再导入Tableau。

4. 数据自动更新与可视化发布流程

自动更新数据

  • 用Python脚本封装数据获取逻辑:请求API找到目标数据集的CSV下载链接,下载并保存到固定路径(或云存储,如Google Drive/OneDrive,方便Tableau访问)。
  • 定时运行脚本:借助操作系统定时任务(Windows任务计划、Linux Cron)或Python的schedule库,设置每日/每周自动执行。

Tableau 可视化与LinkedIn发布

  • 在Tableau中连接本地或云存储的CSV文件,配置数据刷新计划(Tableau Desktop或Tableau Server均可设置)。
  • 发布报告到LinkedIn:可通过Tableau API生成报告图片/PDF,再调用LinkedIn API自动发布;若无需完全自动化,手动导出报告后发布即可——如需全自动化,需申请LinkedIn开发者账户创建应用获取API权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:42:26