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

NewsAPI.org多关键词请求问题及解决方案:改用everything接口

解决NewsAPI多关键词头条搜索的问题

嘿,我之前也踩过top_headlines接口的这个坑——它确实不支持多关键词的组合搜索,官方文档里明确说了这个接口的q参数只能填单个关键词或者短语。如果要实现多关键词匹配,得换成everything接口,这个接口支持完整的逻辑关键词组合,而且还能通过时间范围来缩小返回结果量,避免数据太多。

下面是我测试过的可行代码(用Python的requests库),你可以直接参考:

import requests

def get_news_with_multiple_keywords():
    api_key = "你的API密钥"  # 替换成你自己的NewsAPI密钥
    base_url = "https://newsapi.org/v2/everything"
    
    # 多关键词组合,支持AND/OR逻辑,比如要同时包含"AI"和"climate change"就用AND,二选一用OR
    keywords = "AI AND climate change"
    # 限制返回最近7天的新闻,from和to参数格式是YYYY-MM-DD
    params = {
        "q": keywords,
        "from": "2024-05-20",
        "to": "2024-05-27",
        "sortBy": "publishedAt",  # 按发布时间排序
        "pageSize": 20,  # 控制每次返回的文章数量
        "apiKey": api_key
    }
    
    response = requests.get(base_url, params=params)
    if response.status_code == 200:
        news_data = response.json()
        # 处理返回的新闻数据,比如打印标题
        for article in news_data["articles"]:
            print(f"标题: {article['title']}")
            print(f"来源: {article['source']['name']}")
            print("---")
    else:
        print(f"请求失败,状态码: {response.status_code}")
        print(response.json())

get_news_with_multiple_keywords()

几个关键点要注意:

  • q参数里的关键词可以用逻辑运算符:AND、OR、NOT,还能用引号包裹短语,比如"renewable energy" AND solar
  • from和to参数用来限定新闻的发布时间,能有效减少返回的结果数量,避免接口返回太多数据
  • 如果需要分页,可以加page参数,配合pageSize来分批获取内容

另外,记得把代码里的api_key替换成你自己在NewsAPI上申请的密钥,不然会请求失败哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:05:32