此技能用于搜索网络信息、查找当前内容、查询新闻文章、图片或视频。它通过 DuckDuckGo 搜索 API 以文本、Markdown 或 JSON 格式返回简洁结果,适用于研究、事实核查、获取最新信息或收集网络资源。
Web Search : Overview. 使用 DuckDuckGo 的API搜索网页, 搜索网页中的信息, 搜索新闻文章、 图像和视频
功能概述
Web Search : Overview. 使用 DuckDuckGo 的API搜索网页, 搜索网页中的信息, 搜索新闻文章、 图像和视频是一项面向实际任务的技能,主要用于返回结果有多种格式( 文本、 标记下、 JSON)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
网络搜索
概述
使用 DuckDuckGo 的 API 搜索网络,查找网页、新闻文章、图片和视频中的信息。支持以多种格式(文本、Markdown、JSON)返回结果,并提供时间范围、地区和安全搜索等过滤选项。
何时使用此技能
当用户提出以下请求时,请使用该技能:
- 为获取信息或资源而进行的网络搜索
- 在线查找当前或近期的信息
- 针对特定主题查找新闻文章
- 根据描述或主题搜索图片
- 查找特定主题的视频
- 需要最新网络数据的研究任务
- 利用网络来源进行事实核查或验证
- 收集某一主题的相关 URL 和资源
前提条件
安装所需依赖项:
pip install duckduckgo-search
该库为 DuckDuckGo 搜索 API 提供了一个简洁的 Python 接口,无需 API 密钥或身份认证。
核心功能
1. 基础网络搜索
搜索网页与相关信息:
python scripts/search.py ""
示例:
python scripts/search.py "python asyncio tutorial"
以清晰的纯文本格式返回前 10 条网页结果,包含标题、URL 和摘要描述。
2. 限制结果数量
控制返回结果的数量:
python scripts/search.py "" --max-results
示例:
python scripts/search.py "machine learning frameworks" --max-results 20
适用场景:
- 获取更全面的结果(提高上限)
- 快速查阅少量结果(降低上限)
- 在信息详尽程度与处理耗时之间取得平衡
3. 时间范围过滤
按时效性筛选结果:
python scripts/search.py "" --time-range
时间范围选项:
d— 过去一天w— 过去一周m— 过去一个月y— 过去一年
示例:
python scripts/search.py "artificial intelligence news" --time-range w
适用于:
- 查找近期新闻或更新
- 过滤过时内容
- 追踪最新进展
4. 新闻搜索
专门搜索新闻文章:
python scripts/search.py "" --type news
示例:
python scripts/search.py "climate change" --type news --time-range w --max-results 15
新闻结果包含:
- 文章标题
- 发布媒体
- 发布时间
- URL
- 文章摘要/描述
5. 图片搜索
搜索图片:
python scripts/search.py "" --type images
示例:
python scripts/search.py "sunset over mountains" --type images --max-results 20
图片过滤选项:
尺寸过滤:
python scripts/search.py "landscape photos" --type images --image-size Large
可选值:Small、Medium、Large、Wallpaper
颜色过滤:
python scripts/search.py "abstract art" --type images --image-color Blue
可选值:color、Monochrome、Red、Orange、Yellow、Green、Blue、Purple、Pink、Brown、Black、Gray、Teal、White
类型过滤:
python scripts/search.py "icons" --type images --image-type transparent
可选值:photo、clipart、gif、transparent、line
布局过滤:
python scripts/search.py "wallpapers" --type images --image-layout Wide
可选值:Square、Tall、Wide
图片结果包含:
- 图片标题
- 图片 URL(图片直链)
- 缩略图 URL
- 来源网站
- 尺寸(宽 × 高)
6. 视频搜索
搜索视频:
python scripts/search.py "" --type videos
示例:
python scripts/search.py "python tutorial" --type videos --max-results 15
视频过滤选项:
时长过滤:
python scripts/search.py "cooking recipes" --type videos --video-duration short
可选值:short、medium、long
分辨率过滤:
python scripts/search.py "documentary" --type videos --video-resolution high
可选值:high、standard
视频结果包含:
- 视频标题
- 发布者/频道
- 时长
- 发布时间
- 视频 URL
- 描述
7. 地区限定搜索
按指定地区返回搜索结果:
python scripts/search.py "" --region
常用地区代码:
us-en— 美国(英语)uk-en— 英国(英语)ca-en— 加拿大(英语)au-en— 澳大利亚(英语)de-de— 德国(德语)fr-fr— 法国(法语)wt-wt— 全球(默认)
示例:
python scripts/search.py "local news" --region us-en --type news
8. 安全搜索控制
控制安全搜索过滤强度:
python scripts/search.py "" --safe-search
选项说明:
on— 严格过滤moderate— 平衡过滤(默认)off— 不启用过滤
示例:
python scripts/search.py "medical information" --safe-search on
9. 输出格式选择
自定义结果输出格式:
文本格式(默认):
python scripts/search.py "quantum computing"
结构清晰、易读的纯文本,带编号结果列表。
Markdown 格式:
python scripts/search.py "quantum computing" --format markdown
格式化 Markdown,含标题、加粗文本及超链接。
JSON 格式:
python scripts/search.py "quantum computing" --format json
结构化 JSON 数据,便于程序化处理。
10. 将结果保存至文件
将搜索结果写入文件:
python scripts/search.py "" --output
示例:
python scripts/search.py "artificial intelligence" --output ai_results.txt python scripts/search.py "AI news" --type news --format markdown --output ai_news.md python scripts/search.py "AI research" --format json --output ai_data.json
实际输出格式由 --format 参数决定,而非文件扩展名。
输出格式示例
文本格式
1. 页面标题示例 URL: https://example.com/page 页面内容简要描述... 2. 另一个结果 URL: https://example.com/another 另一段描述...
Markdown 格式
## 1. 页面标题示例 **URL:** https://example.com/page 页面内容简要描述... ## 2. 另一个结果 **URL:** https://example.com/another 另一段描述...
JSON 格式
[
{
"title": "页面标题示例",
"href": "https://example.com/page",
"body": "页面内容简要描述..."
},
{
"title": "另一个结果",
"href": "https://example.com/another",
"body": "另一段描述..."
}
]
常见使用模式
主题研究
围绕某一主题系统性地收集信息:
# 获取网页概览 python scripts/search.py "machine learning basics" --max-results 15 --output ml_web.txt # 获取近期新闻 python scripts/search.py "machine learning" --type news --time-range m --output ml_news.txt # 查找教学视频 python scripts/search.py "machine learning tutorial" --type videos --max-results 10 --output ml_videos.txt
实时事件监控
持续跟踪特定话题的新闻动态:
python scripts/search.py "climate summit" --type news --time-range d --format markdown --output daily_climate_news.md
视觉资源检索
按具体要求搜索图片:
python scripts/search.py "data visualization examples" --type images --image-type photo --image-size Large --max-results 25 --output viz_images.txt
事实核查
借助近期信源验证信息真伪:
python scripts/search.py "specific claim to verify" --time-range w --max-results 20
学术研究
查找学术类主题相关资料:
python scripts/search.py "quantum entanglement research" --time-range y --max-results 30 --output quantum_research.txt
市场调研
收集产品或公司相关信息:
python scripts/search.py "electric vehicle market 2025" --max-results 20 --format markdown --output ev_market.md python scripts/search.py "EV news" --type news --time-range m --output ev_news.txt
实现方法
当用户发起网络搜索请求时,按以下步骤执行:
识别搜索意图:
- 所需内容类型(网页、新闻、图片、视频)?
- 结果需多新近?
- 需要多少条结果?
- 是否存在其他过滤需求?
配置搜索参数:
- 选择合适的搜索类型(
--type) - 如需时效性,设置时间范围(
--time-range) - 调整结果数量(
--max-results) - 应用各类过滤器(图片尺寸、视频时长等)
- 选择合适的搜索类型(
选择输出格式:
- 文本格式:用于快速浏览
- Markdown 格式:用于文档撰写
- JSON 格式:用于后续程序化处理
执行搜索:
- 运行搜索命令
- 若需长期保存结果,则使用
--output写入文件 - 若需即时查看,则直接输出到标准输出(stdout)
处理结果:
- 按需读取已保存的文件
- 提取 URL 或特定字段信息
- 合并多次搜索的结果
速查参考
命令结构:
python scripts/search.py "" [options]
核心选项:
-t, --type— 搜索类型(web、news、images、videos)-n, --max-results— 最大结果数(默认:10)--time-range— 时间过滤(d、w、m、y)-r, --region— 地区代码(例如:us-en、uk-en)--safe-search— 安全搜索级别(on、moderate、off)-f, --format— 输出格式(text、markdown、json)-o, --output— 保存至文件
图片专属选项:
--image-size— 尺寸过滤(Small、Medium、Large、Wallpaper)--image-color— 颜色过滤--image-type— 类型过滤(photo、clipart、gif、transparent、line)--image-layout— 布局过滤(Square、Tall、Wide)
视频专属选项:
--video-duration— 时长过滤(short、medium、long)--video-resolution— 分辨率过滤(high、standard)
获取完整帮助:
python scripts/search.py --help
最佳实践
- 查询尽量明确 — 使用清晰、具体的搜索词以获得更优结果
- 善用时间过滤 — 对时效性敏感的信息应使用
--time-range - 合理调整结果数量 — 初步建议设为 10–20 条,必要时再增加
- 重要搜索务必保存 — 使用
--output保留结果以备复用 - 按需选择搜索类型 — 时效性强的内容用 news,通用信息用 web
- 自动化处理优先选 JSON — JSON 格式最便于程序解析
- 尊重服务使用规范 — 避免高频密集调用 API
故障排查
常见问题:
- “缺少必需依赖”:运行
pip install duckduckgo-search - 无结果返回:尝试扩大关键词范围或移除时间过滤条件
- 超时错误:搜索服务可能临时不可用,请稍后重试
- 频率限制:若批量请求,请适当延长时间间隔
- 结果不符合预期:DuckDuckGo 的排序逻辑与 Google 不同;建议优化查询词
限制说明:
- 结果质量取决于 DuckDuckGo 的索引覆盖度与算法策略
- 不支持高级搜索语法(如 Google 的
site:、filetype:等) - 图片与视频搜索结果数量通常少于网页搜索
- 无法干预结果排序逻辑或相关性评分机制
- 部分专业领域搜索,在专用搜索引擎中效果更佳
高级应用场景
组合多种搜索类型
通过组合不同搜索类型构建全面信息视图:
# 网页概览 python scripts/search.py "topic" --max-results 15 --output topic_web.txt # 近期新闻 python scripts/search.py "topic" --type news --time-range w --output topic_news.txt # 图片资源 python scripts/search.py "topic" --type images --max-results 20 --output topic_images.txt
程序化处理
利用 JSON 输出实现自动化分析:
python scripts/search.py "research topic" --format json --output results.json # 后续交由其他脚本处理 python analyze_results.py results.json
构建知识库
基于网络搜索结果创建可检索的文档知识库:
# 搜索多个关联主题 python scripts/search.py "topic1" --format markdown --output kb/topic1.md python scripts/search.py "topic2" --format markdown --output kb/topic2.md python scripts/search.py "topic3" --format markdown --output kb/topic3.md
参考资料
scripts/search.py
主搜索工具,实现了 DuckDuckGo 搜索功能。主要特性包括:
- 多种搜索类型 — 支持网页、新闻、图片和视频搜索
- 灵活过滤能力 — 支持时间范围、地区、安全搜索及类型专属过滤器
- 多格式输出 — 支持文本、Markdown 和 JSON 格式
- 文件输出支持 — 可将结果保存至本地文件以便后续处理
- 人性化排版 — 输出内容结构清晰、信息完整、易于人工阅读
- 健壮错误处理 — 对网络异常和空结果等情况均做了优雅容错处理
该脚本可直接运行,并内置完整的命令行帮助,可通过 --help 查看。
热门AI工具
相关专题
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。
0
2026.10.28
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.6万人学习
共6课时 | 54.7万人学习