使用 Python 快速上手 Currents API
一篇实用的分步教程,帮助你使用 Python 和官方 Currents API SDK 获取实时与历史新闻数据。
如果你想在 Python 应用中接入新闻能力,通常没有必要一上来就自己搭建抓取、清洗和索引整条新闻数据链路。很多时候,更合理的起点是直接使用一个已经提供结构化实时与历史新闻数据的 API。
Currents API 就是为这个场景设计的。
这篇教程会带你一步一步完成以下事情:使用 Python 和官方 Currents SDK 获取最新新闻、执行新闻搜索,以及查看可用的语言、地区和分类。
你可以用 Currents API 做什么
Currents API 适合需要结构化新闻数据的开发者,常见场景包括:
- 新闻聚合应用
- 市场与风险监控
- 内部研究工具
- 告警与自动化工作流
- LLM、RAG 与 Agent 应用
使用 Python SDK,你可以比直接手写 HTTP 请求更快地开始开发。
开始前需要准备什么
开始之前,请确认你已经具备:
- Python 3.8 或更高版本
- 一个 Currents API Key
- 本地开发环境中的虚拟环境(建议)
如果你还没有 API Key,可以先在这里注册:
https://currentsapi.services/en/register
1. 安装 Python SDK
先安装官方 Python 库:
pip install currentsapi
安装完成后,导入客户端并使用你的 API Key 初始化:
from currentsapi import CurrentsAPI
api = CurrentsAPI(api_key="YOUR_API_KEY")
创建客户端之后,所有请求都会自动通过 Authorization 头进行认证。
2. 获取最新新闻
最简单的起步方式,就是先拉取最新新闻。
from currentsapi import CurrentsAPI
api = CurrentsAPI(api_key="YOUR_API_KEY")
response = api.latest_news()
print(response)
如果你希望按语言过滤结果,可以传入可选参数 language:
response = api.latest_news(language="en")
print(response)
这对于构建按语言区分的新闻流非常有用,比如英文首页、区域监控页,或者特定语言的内容面板。
3. 使用过滤条件搜索新闻
如果你想精确找到某一类新闻,而不是简单地查看最新内容,就应该使用 search()。
response = api.search(
keywords="OpenAI",
language="en"
)
print(response)
你还可以结合更多已文档化的过滤参数:
keywordslanguagecountrycategorystart_dateend_date
例如:
response = api.search(
keywords="semiconductor",
language="en",
country="US",
category="technology",
start_date="2026-01-01",
end_date="2026-03-31"
)
print(response)
对于实际生产场景来说,这种方式通常比直接消费一个无差别的新闻流更有效,因为你可以从一开始就把结果限制在真正相关的主题范围内。
4. 查看可用的语言、地区和分类
如果你不确定过滤参数到底可以填什么值,SDK 里已经提供了对应的辅助方法。
查看可用语言
languages = api.available_languages()
print(languages)
查看可用地区
regions = api.available_regions()
print(regions)
查看可用分类
categories = api.available_category()
print(categories)
这些方法尤其适合以下场景:
- 你要做带筛选器的前端界面
- 你要校验用户输入是否合法
- 你要动态生成配置面板或下拉选项
5. 正确使用日期过滤
对于 start_date 和 end_date,你可以传字符串,也可以传 Python 的日期对象。
使用字符串
response = api.search(
keywords="energy",
start_date="2026-04-01",
end_date="2026-04-30"
)
使用 datetime.date
import datetime
response = api.search(
keywords="energy",
start_date=datetime.date(2026, 4, 1),
end_date=datetime.date(2026, 4, 30)
)
如果你的应用内部本来就使用 Python 日期对象,这种写法会更方便,也能减少额外的格式转换代码。
6. 正确处理错误
和所有外部 API 一样,你应该显式处理错误,而不是假设每次请求都会成功。
from currentsapi import CurrentsAPI
from currentsapi.client import CurrentsAPIError
api = CurrentsAPI(api_key="YOUR_API_KEY")
try:
response = api.latest_news(language="en")
print(response)
except CurrentsAPIError as err:
print("Status:", err.status)
print("Code:", err.code)
print("Message:", err.message)
这在以下场景中尤其重要:
- API Key 无效或已过期
- 触发请求额度限制
- API 返回其他错误响应
如果你要把 Currents 集成进生产系统,建议把这些异常纳入你的日志、监控与重试策略中。
7. 一个完整示例
下面是一个紧凑的端到端示例,把最常见的使用方式串起来:
from currentsapi import CurrentsAPI
from currentsapi.client import CurrentsAPIError
api = CurrentsAPI(api_key="YOUR_API_KEY")
try:
latest = api.latest_news(language="en")
print("Latest news status:", latest.get("status"))
results = api.search(
keywords="AI infrastructure",
language="en",
category="technology",
start_date="2026-01-01",
end_date="2026-12-31"
)
print("Search status:", results.get("status"))
for item in results.get("news", [])[:5]:
print("-" * 40)
print(item.get("title"))
print(item.get("published"))
print(item.get("url"))
except CurrentsAPIError as err:
print("Currents API error")
print("Status:", err.status)
print("Code:", err.code)
print("Message:", err.message)
这套模式已经足够让你快速做出一个可运行的原型。
什么时候适合使用 Python SDK
如果你属于下面这些情况,Python SDK 会特别合适:
- 想快速在 Python 中接入新闻数据
- 不想自己维护底层 HTTP 请求逻辑
- 希望在脚本或服务中复用统一的 API 访问方式
- 想先快速验证场景,再逐步走向生产化
如果你的目标是做研究脚本、内部工具,或者一个轻量服务,这通常是从零到可用的最快路径。
下一步可以做什么
当你把基础调用跑通之后,可以继续往下扩展:
- 用 cron 或任务队列定时拉取新闻
- 搭建主题化监控流程
- 接入 LLM 或 RAG 工作流
- 基于关键词、地区或分类做告警
- 构建市场、媒体或竞争情报仪表盘
如果你想查看完整 API 文档,可以直接访问:
https://currentsapi.services/en/docs/
总结
使用官方 Currents Python SDK,上手并不复杂。
你可以很快完成这些事情:
- 获取最新新闻
- 按条件搜索新闻
- 查看合法过滤值
- 正确处理错误
- 从脚本快速过渡到更接近生产环境的应用
对于需要在 Python 中使用结构化新闻数据的团队来说,这比从头搭建自己的新闻基础设施要轻量得多,也快得多。