本地 Python 脚本聚合多引擎网页搜索,适用于:①搜索网页信息、文章、文档;②搜索代码库。
SearXNG-lite. 轻量级多引擎聚合网络搜索.
功能概述
SearXNG-lite. 轻量级多引擎聚合网络搜索.是一项面向实际任务的技能,主要用于不需要 Docker, 不需要服务器, 不需要 SearXNG 实例—— 只需要一个 Python 脚本, 直接查询搜索引擎.. 26 引擎 ac。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
SearXNG-lite
轻量级多引擎聚合网页搜索工具。无需 Docker、无需服务器、也无需部署 SearXNG 实例——仅需一个 Python 脚本,即可直接向各大搜索引擎发起查询请求。
支持 9 个类别的共 26 个搜索引擎,支持并发执行,输出格式包括 JSON 和紧凑型纯文本。
本工具的独特之处
不同于其他依赖运行中 SearXNG 服务的 SearXNG 技能,本技能具有以下特性:
- 零基础设施依赖 —— 无需 Docker、无需 SearXNG 实例、无需 HTTP 服务
- 单文件设计 —— 仅一个 Python 脚本(约 850 行)完成全部功能
- 直连查询 —— 通过
httpx在进程内直接向搜索引擎发送 HTTP 请求 - 配置热重载 —— 编辑
config.yml即可启用/禁用类别,修改即时生效 - 并发执行 —— 最多支持 5 个线程并行查询多个搜索引擎
- 结果去重与融合 —— 合并来自不同引擎的重复结果,并基于跨引擎重合度进行打分排序
系统要求
- Python 3.10 或更高版本
httpx—— HTTP 客户端(pip3 install httpx)lxml—— HTML 解析器(pip3 install lxml;macOS 系统已预装)- (可选)
socksio—— 提供 SOCKS 代理支持(pip3 install socksio) - (可选)
pyyaml—— 用于解析配置文件(pip3 install pyyaml;若未安装则回退至内置简易解析器)
快速开始
# 安装依赖 pip3 install httpx lxml # 执行搜索 python3 scripts/search.py "你的查询词" # 列出所有可用搜索引擎 python3 scripts/search.py --list
搜索方式
python3 scripts/search.py "query" # 默认模式(general + knowledge 类别) python3 scripts/search.py "query" -c dev # 按类别搜索 python3 scripts/search.py "query" -c dev,academic # 多类别组合 python3 scripts/search.py "query" -e github,arxiv # 指定具体搜索引擎 python3 scripts/search.py "query" --all # 使用所有已启用的搜索引擎 python3 scripts/search.py "query" -l zh-CN # 返回中文结果 python3 scripts/search.py "query" -n 5 # 限制返回结果数量 python3 scripts/search.py "query" --compact # 输出紧凑型文本(标题 + URL + 摘要) python3 scripts/search.py --list # 显示全部搜索引擎及所属类别
所有路径均相对于本技能所在目录。
命令行参数
| 参数 | 缩写 | 默认值 | 说明 |
|---|---|---|---|
query |
必填 | 搜索关键词 | |
--engines |
-e |
以英文逗号分隔的搜索引擎名称列表 | |
--categories |
-c |
以英文逗号分隔的类别名称列表 | |
--max-results |
-n |
10 | 最多返回结果数 |
--lang |
-l |
en | 语言代码(例如:en、zh-CN、de) |
--page |
-p |
1 | 页码(从第 1 页开始) |
--proxy |
取自 config.yml | 代理 URL(将覆盖配置文件和环境变量中的设置) | |
--timeout |
12 | 超时时间(单位:秒) | |
--all |
启用全部已配置的搜索引擎 | ||
--compact |
启用人类可读的纯文本输出格式 | ||
--list |
列出所有搜索引擎后退出 | ||
--debug |
启用调试日志输出 |
若未指定 -e 或 -c 参数,则默认在 general 与 knowledge 类别中搜索。
配置说明
编辑技能目录下的 config.yml 文件来自定义行为:
# 为需要代理访问的搜索引擎(如 Google、YouTube、Reddit 等)设置代理 # 支持协议:http、https、socks5、socks5h # 留空则禁用代理 —— 需代理的搜索引擎将静默失败。 proxy: "socks5h://127.0.0.1:1080" # 类别开关配置 categories: general: true # bing、brave、duckduckgo、google🌐、startpage、yahoo knowledge: true # wikipedia、wikidata、wolframalpha🌐 dev: true # github、gitlab、stackoverflow、hackernews、reddit🌐、huggingface🌐、mdn academic: true # arxiv、semantic_scholar、google_scholar🌐、crossref news: false # bing_news、reuters video: false # youtube🌐 images: false # unsplash social: false # lemmy🌐 translate: false # lingva🌐
代理配置
部分搜索引擎(标注 🌐 的)需通过代理访问。可通过以下三种方式配置代理:
- config.yml 文件(推荐):设置
proxy: "your-proxy-url" - 环境变量:设置
HTTPS_PROXY=your-proxy-url - 命令行参数:每次搜索时使用
--proxy your-proxy-url
优先级顺序为:命令行参数 > config.yml > 环境变量。
若未配置任何代理,带 🌐 标记的搜索引擎将被跳过(静默失败),其余搜索引擎的结果仍会正常返回。
配置热重载
每次执行搜索时都会重新读取 config.yml 文件,无需重启脚本 —— 修改保存后立即生效。
若 config.yml 文件缺失,脚本将自动回退至默认搜索引擎集:bing、brave、duckduckgo、wikipedia。
类别与搜索引擎列表
| 类别 | 搜索引擎 | 适用场景 |
|---|---|---|
general |
bing、brave、duckduckgo、google🌐、startpage、yahoo | 通用网页搜索 |
knowledge |
wikipedia、wikidata、wolframalpha🌐 | 事实查询、术语定义、数学计算 |
dev |
github、gitlab、stackoverflow、hackernews、reddit🌐、huggingface🌐、mdn | 代码、开源项目、开发者问答、AI 模型 |
academic |
arxiv、semantic_scholar、google_scholar🌐、crossref | 学术论文、参考文献检索 |
news |
bing_news、reuters | 时事新闻 |
video |
youtube🌐 | 视频内容搜索 |
images |
unsplash | 免费高清图库 |
social |
lemmy🌐 | 社区讨论 |
translate |
lingva🌐 | 在线翻译 |
🌐 = 需代理访问。未配置代理时,对应搜索引擎将被跳过。
输出格式
默认输出 JSON 格式:
{
"query": "search term",
"results": [
{"title": "...", "url": "...", "content": "...", "engines": ["bing","brave"], "score": 2}
],
"result_count": 15,
"elapsed": 2.1,
"engines_used": ["bing", "brave", "wikipedia"],
"errors": []
}
--compact 参数启用后,输出人类可读的纯文本格式:编号标题、URL、摘要、来源搜索引擎标签。
score 字段表示该结果被多少个搜索引擎共同返回;数值越高,代表结果越具共识性与相关性。
典型智能体工作流示例
- 通用研究:
python3 scripts/search.py "topic" -n 5 - 查找代码库:
python3 scripts/search.py "image processing python" -e github - 学术论文检索:
python3 scripts/search.py "attention mechanism" -c academic -n 5 - 技术讨论检索:
python3 scripts/search.py "topic" -e hackernews,reddit - AI 模型检索:
python3 scripts/search.py "text-to-speech" -e huggingface - 开发文档检索:
python3 scripts/search.py "fetch API" -e mdn,stackoverflow - 中文搜索:
python3 scripts/search.py "大语言模型" -l zh-CN -n 5 - 新闻检索:
python3 scripts/search.py "AI regulation" -c news
热门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万人学习
最新文章