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

如何在JavaScript中自动获取巴西新冠官网的CSV数据序列

如何用JavaScript自动获取巴西卫生部新冠数据的CSV文件

好问题!咱们一步步来搞定这个需求:

第一步:找到CSV文件的真实下载链接

网站上的下载按钮通常是触发动态请求的,所以得先抓包拿到实际的CSV地址:

  • 打开浏览器开发者工具(按F12),切换到「Network」标签
  • 点击网站上的CSV下载按钮
  • 在请求列表里找到类型为text/csv的请求,复制它的「Request URL」——这就是我们需要的直接下载链接

⚠️ 注意:这个URL可能会随网站更新或带有临时参数,如果之后请求失效,需要重新抓包获取。

第二步:用JavaScript请求并处理CSV数据

场景1:无跨域限制(直接请求成功)

如果直接请求CSV链接没有出现CORS错误,可以用原生fetch API直接获取:

// 替换成你抓包得到的真实CSV链接
const csvUrl = "你的CSV实际下载地址";

fetch(csvUrl)
  .then(response => {
    if (!response.ok) {
      throw new Error(`请求失败,状态码:${response.status}`);
    }
    return response.text(); // 将响应转为CSV文本
  })
  .then(csvText => {
    console.log("原始CSV数据:", csvText);
    
    // 想要解析成JSON格式?可以用第三方库比如Papa Parse
    // 安装方式:npm install papaparse,或者引入本地脚本
    const parsedData = Papa.parse(csvText, { header: true }); // 第一行作为表头
    console.log("解析后的JSON数据:", parsedData.data);
  })
  .catch(error => {
    console.error("获取CSV出错:", error);
  });

场景2:遇到CORS跨域限制

如果前端直接请求出现「CORS policy」错误,说明目标网站不允许跨域访问,这时候需要通过后端代理中转请求:

示例:用Node.js + Express搭建简易代理

// 先安装依赖:npm install express node-fetch
const express = require('express');
const fetch = require('node-fetch');
const app = express();

// 代理接口
app.get('/proxy-covid-csv', async (req, res) => {
  try {
    const csvUrl = "你的CSV实际下载地址";
    const response = await fetch(csvUrl);
    const csvContent = await response.text();
    
    res.setHeader('Content-Type', 'text/csv');
    res.send(csvContent);
  } catch (err) {
    res.status(500).send('获取CSV数据失败');
  }
});

app.listen(3000, () => {
  console.log('代理服务器运行在 http://localhost:3000');
});

然后前端请求这个代理地址:

fetch('http://localhost:3000/proxy-covid-csv')
  .then(response => response.text())
  .then(csvText => {
    console.log('通过代理获取的CSV数据:', csvText);
    // 同样可以用Papa Parse解析为JSON
  })
  .catch(err => console.error('请求代理出错:', err));

额外提醒

  • 目标网站的CSV链接可能会不定期更新,记得定期检查链接有效性
  • 如果需要定时自动获取,可以结合setInterval(前端)或者后端定时任务(比如Node.js的node-schedule)来实现

内容的提问来源于stack exchange,提问作者Eduardo Legnaioli Facchioli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:32:46