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

使用cheerio解析HTML表格,提取td内容转为结构化对象的实现方法

实现方案

调整说明

  • 移除了原代码中不必要的xmlMode配置,cheerio默认的HTML解析模式即可满足需求
  • 调整选择器直接定位到表格所有行tr,逐行提取td内容后组装结构化对象

完整实现代码

const axios = require("axios").default;
const cheerio = require("cheerio").default;

axios.get("https://coronaboard.kr").then((res) => {
  const result = [];
  const $ = cheerio.load(res.data);
  // 遍历国家表格下的所有数据行
  $("#country-table > div > div > table > tbody tr").each((index, tr) => {
    // 提取当前行所有td的文本内容并去除首尾空白
    const tdTextList = $(tr).find('td').map((i, td) => $(td).text().trim()).get();
    // 组装为结构化对象,可根据实际业务含义修改属性名
    const countryData = {
      rank: tdTextList[0],
      countryName: tdTextList[1],
      confirmed: tdTextList[2],
      // 以下两个字段可根据页面实际展示的指标替换属性名
      indicator1: tdTextList[3],
      indicator2: tdTextList[4]
    };
    result.push(countryData);
  });
  // 输出最终结构化结果
  console.log(result);
});

可选优化

如果需要将字段转为数值类型,可以增加转换逻辑:

  • 普通数值直接用parseInt或parseFloat转换,比如rank: parseInt(tdTextList[0])
  • 带千位分隔符的数值先替换掉逗号再转换,比如confirmed: parseInt(tdTextList[2].replace(/,/g, ''))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:36:03