mcpField
N
newsapi-search

newsapi-search

github.com/kirkluokun生产力6642 次安装32 周前更新
代码仓库

关于 newsapi-search

这款 Node.js 技能通过 NewsAPI 搜索新闻文章和突发头条,适用于新闻研究与监测。它支持按时间、来源、域名、语言及查询条件筛选,并返回结构化 JSON 结果。

主要功能

  1. 01搜索 NewsAPI 新闻文章
  2. 02获取突发新闻头条
  3. 03按时间、来源、域名或语言筛选
  4. 04使用高级查询语法
  5. 05按国家、类别或语言列出来源
  6. 06返回结构化 JSON 结果

适用场景

  1. 01查找某主题的近期报道
  2. 02按国家或类别跟踪头条
  3. 03限定结果来自指定媒体
  4. 04按语言查看可用来源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kirkluokun/awesome-a-stock-openclawskills --skill newsapi-search

安装后在 Claude Code 中输入/newsapi-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

_meta.json
.env.example
references/
api-reference.md
examples.md
scripts/
search.js
sources.js

详细介绍

NewsAPI 搜索

通过 NewsAPI 搜索 5,000 多个新闻来源。支持全面的文章发现(/everything)和突发新闻头条(/top-headlines)。

快速开始

# Basic search
node scripts/search.js "technology" --days 7

# Filter by quality sources
node scripts/search.js "technology" --sources bbc-news,reuters,al-jazeera-english

# Exclude low-quality domains
node scripts/search.js "technology" --exclude tmz.com,radaronline.com

# Breaking headlines
node scripts/search.js "technology" --headlines --country us

# List available sources
node scripts/sources.js --country us --category general

设置

将 API 密钥添加到 ~/.openclaw/.env:

NEWSAPI_KEY=your_api_key

在 https://newsapi.org 获取密钥(免费套餐:每天 100 次请求)

端点

Everything 搜索

在数百万篇文章中进行全面搜索。

时间范围:

node scripts/search.js "query" --hours 24
node scripts/search.js "query" --days 7        # default
node scripts/search.js "query" --weeks 2
node scripts/search.js "query" --months 1
node scripts/search.js "query" --from 2026-01-01 --to 2026-01-31

筛选条件:

node scripts/search.js "query" --sources bbc-news,cnn           # max 20
node scripts/search.js "query" --domains nytimes.com,bbc.co.uk
node scripts/search.js "query" --exclude gossip-site.com
node scripts/search.js "query" --lang en                       # or 'any'

搜索字段:

node scripts/search.js "query" --title-only                    # title only
node scripts/search.js "query" --in title,description          # specific fields

高级查询语法:

  • "exact phrase" — 精确匹配
  • +musthave — 必须包含的词
  • -exclude — 排除的词
  • word1 AND word2 — 两个词都必须包含
  • word1 OR word2 — 接受任一词
  • (word1 OR word2) AND word3 — 分组查询

分页与排序:

node scripts/search.js "query" --page 2 --limit 20
node scripts/search.js "query" --sort relevancy      # default
node scripts/search.js "query" --sort date           # newest first
node scripts/search.js "query" --sort popularity
头条新闻

按国家或类别获取实时突发新闻。

# By country
node scripts/search.js "query" --headlines --country us

# By category
node scripts/search.js --headlines --country us --category business

# By source
node scripts/search.js --headlines --sources bbc-news,cnn

类别:business、entertainment、general、health、science、sports、technology

注意: 在头条新闻模式下,不能同时使用 --country/--category 和 --sources。

列出来源
node scripts/sources.js                    # all sources
node scripts/sources.js --country us       # filter by country
node scripts/sources.js --category business
node scripts/sources.js --lang en
node scripts/sources.js --json             # JSON output

高级用法

完整的参数参考请参阅 references/api-reference.md。

常见工作流和搜索模式请参阅 references/examples.md。

程序化 API

const { searchEverything, searchHeadlines, getSources } = require('./scripts/search.js');

const results = await searchEverything('climate change', {
  timeWindow: { type: 'days', value: 7 },
  sources: 'bbc-news,reuters',
  excludeDomains: 'tmz.com',
  limit: 20
});

const headlines = await searchHeadlines('business', {
  country: 'us',
  category: 'business'
});

免费套餐限制

  • 每天 100 次请求
  • 每次请求最多返回 100 条结果
  • 存档内容延迟 1 个月

输出格式

返回结构化 JSON:

{
  "query": "technology",
  "endpoint": "everything",
  "totalResults": 64,
  "returnedResults": 10,
  "page": 1,
  "results": [
    {
      "title": "...",
      "url": "...",
      "source": "BBC News",
      "publishedAt": "2026-02-05T14:30:00Z",
      "description": "...",
      "content": "..."
    }
  ]
}

评论

支持 Markdown