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

Express学习项目:如何查找Jikan API的有效Anime数字JSON端点?

嘿,我正好有类似的经验,来帮你搞定这个问题!你想要找出jikan.me上所有返回有效动漫数据的/anime/[数字]端点,对吧?下面是几个实用的方案:

方案1:批量请求+有效性校验(最直接的方法)

既然这个API没有提供现成的有效ID列表,那我们可以写个脚本循环请求不同数字的端点,然后判断返回内容是否有效。因为你用的是Express(Node.js生态),直接用Node.js写脚本最方便:

示例代码(用node-fetch)

const fetch = require('node-fetch');
const fs = require('fs');

async function findValidAnimeIds(startId = 1, endId = 200) {
  const validIds = [];
  
  for (let id = startId; id <= endId; id++) {
    try {
      const apiUrl = `https://api.jikan.me/anime/${id}`;
      const response = await fetch(apiUrl);

      // 第一步:先检查HTTP状态码,200才有可能是有效内容
      if (response.status !== 200) {
        console.log(`ID ${id}:状态码${response.status},跳过`);
        continue;
      }

      // 第二步:解析JSON,检查是否包含有效动漫的关键字段(比如title、image_url)
      const animeData = await response.json();
      if (animeData.title && animeData.image_url) {
        validIds.push(id);
        console.log(`✅ 找到有效ID:${id}(标题:${animeData.title})`);
      } else {
        console.log(`ID ${id}:返回空内容或无效数据,跳过`);
      }

    } catch (error) {
      console.error(`❌ 请求ID ${id} 出错:${error.message}`);
    }

    // 重要:加延迟避免触发API限流,公开API一般都有请求频率限制
    await new Promise(resolve => setTimeout(resolve, 1000));
  }

  // 把结果存到本地文件,方便后续使用
  fs.writeFileSync('./valid-anime-ids.json', JSON.stringify(validIds, null, 2));
  console.log(`\n🎉 任务完成!共找到${validIds.length}个有效ID,已保存到valid-anime-ids.json`);
  return validIds;
}

// 调用示例:检查ID 1到200的端点
findValidAnimeIds(1, 200);
方案2:先确认API是否有批量列表接口

有些公开API会提供类似/anime的端点,直接返回所有动漫的ID和基础信息,这样就不用一个个去试了。你可以再仔细看看jikan.me的文档(如果有的话),有没有这种批量获取的接口——如果有的话,这肯定是效率最高的方法。

关键注意事项
  • API限流问题:一定要加请求延迟!如果短时间内发太多请求,很可能会被API服务器拉黑IP,建议至少每秒1次请求,或者根据API返回的限流响应头调整。
  • 并发优化:如果要检查上千个ID,单循环太慢,可以改成并发请求(比如一次同时发3-5个请求),但要控制并发数,别给服务器造成太大压力。
  • 结果缓存:找到有效ID后一定要存到本地文件或数据库,下次就不用重复请求了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:14:40