名称: newsapi-search
版本: 1.0.0
描述: 通过 NewsAPI 搜索新闻文章,支持按时间窗口、来源、域名和语言进行筛选。
通过 NewsAPI 搜索 5000+ 个新闻源。支持全面的文章发现 (/everything) 和突发头条新闻 (/top-headlines)。
# 基础搜索
node scripts/search.js "technology" --days 7
# 按优质来源筛选
node scripts/search.js "technology" --sources bbc-news,reuters,al-jazeera-english
# 排除低质量域名
node scripts/search.js "technology" --exclude tmz.com,radaronline.com
# 突发头条新闻
node scripts/search.js "technology" --headlines --country us
# 列出可用来源
node scripts/sources.js --country us --category general
将 API 密钥添加到 ~/.openclaw/.env:
NEWSAPI_KEY=your_api_key
从 https://newsapi.org 获取密钥(免费套餐:100 次请求/天)
在数百万篇文章中进行全面搜索。
时间窗口:
node scripts/search.js "query" --hours 24
node scripts/search.js "query" --days 7 # 默认值
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 # 最多 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 # 或 'any'
搜索字段:
node scripts/search.js "query" --title-only # 仅标题
node scripts/search.js "query" --in title,description # 指定字段
高级查询语法:
- "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 # 默认
node scripts/search.js "query" --sort date # 最新优先
node scripts/search.js "query" --sort popularity
按国家或类别获取实时突发新闻。
# 按国家
node scripts/search.js "query" --headlines --country us
# 按类别
node scripts/search.js --headlines --country us --category business
# 按来源
node scripts/search.js --headlines --sources bbc-news,cnn
类别:business, entertainment, general, health, science, sports, technology
注意: 在头条新闻模式下,不能混合使用 --country/--category 与 --sources。
node scripts/sources.js # 所有来源
node scripts/sources.js --country us # 按国家筛选
node scripts/sources.js --category business
node scripts/sources.js --lang en
node scripts/sources.js --json # JSON 输出
完整的参数参考,请参阅 references/api-reference.md。
常见工作流和搜索模式,请参阅 references/examples.md。
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'
});
返回结构化的 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": "..."
}
]
}