如何使用Python限制DuckDuckGo API返回结果的句子数量
DuckDuckGo查询脚本限制输出句数解决方案
实现思路
- 以
.(英文句号+空格)为分句标识,对返回的Abstract字段内容做拆分,适配DuckDuckGo返回的规范科普文本格式 - 提取指定数量的分句后重新拼接输出,默认取前3句,可灵活调整为4句
- 新增空值校验逻辑,避免无返回结果时报错
完整可运行代码
import requests word = input("请输入查询关键词: ") query = f"what is {word}?" r = requests.get("https://api.duckduckgo.com", params = { "q": query, "format": "json" }) data = r.json() abstract = data.get("Abstract", "") if abstract: # 分句处理 sentences = abstract.split(". ") # 调整此处的数字即可修改输出句数,当前为3 output_sentence_count = min(3, len(sentences)) output_content = ". ".join(sentences[:output_sentence_count]) # 补全末尾句号 if not output_content.endswith("."): output_content += "." print(output_content) else: print("未查询到对应内容")
运行效果示例(输入关键词为Artificial Intelligence时)
人工智能是机器展现出的智能,与包括人类在内的动物所展现的自然智能相对。主流人工智能教科书将该领域定义为对“智能代理”的研究:即任何能够感知所处环境、并采取行动最大化自身实现目标概率的系统。一些大众说法用“人工智能”一词描述模仿人类思维相关“认知”功能的机器,比如“学习”和“解决问题”,但这一定义并不被主流人工智能研究者认可。
内容的提问来源于stack exchange,提问作者Artificial Intellegence
相关产品推荐
相关产品推荐

