Web Search

Polar Sponsor
爱发电 赞助
.NET 9.0

此技能用于搜索网络信息、查找当前内容、查询新闻文章、图片或视频。它通过 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

实现方法

当用户发起网络搜索请求时,按以下步骤执行:

  1. 识别搜索意图:

    • 所需内容类型(网页、新闻、图片、视频)?
    • 结果需多新近?
    • 需要多少条结果?
    • 是否存在其他过滤需求?
  2. 配置搜索参数:

    • 选择合适的搜索类型(--type)
    • 如需时效性,设置时间范围(--time-range)
    • 调整结果数量(--max-results)
    • 应用各类过滤器(图片尺寸、视频时长等)
  3. 选择输出格式:

    • 文本格式:用于快速浏览
    • Markdown 格式:用于文档撰写
    • JSON 格式:用于后续程序化处理
  4. 执行搜索:

    • 运行搜索命令
    • 若需长期保存结果,则使用 --output 写入文件
    • 若需即时查看,则直接输出到标准输出(stdout)
  5. 处理结果:

    • 按需读取已保存的文件
    • 提取 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

最佳实践

  1. 查询尽量明确 — 使用清晰、具体的搜索词以获得更优结果
  2. 善用时间过滤 — 对时效性敏感的信息应使用 --time-range
  3. 合理调整结果数量 — 初步建议设为 10–20 条,必要时再增加
  4. 重要搜索务必保存 — 使用 --output 保留结果以备复用
  5. 按需选择搜索类型 — 时效性强的内容用 news,通用信息用 web
  6. 自动化处理优先选 JSON — JSON 格式最便于程序解析
  7. 尊重服务使用规范 — 避免高频密集调用 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 查看。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习