SearxNG 是一个开源的元搜索引擎,允许用户在多个搜索引擎中同时搜索,并通过一个统一的界面展示结果。本文将介绍如何利用 SearxNG API 进行网页搜索并展示结果。
技术背景介绍
SearxNG 是 Searx 项目的一个分支,旨在提供更高效和可扩展的搜索功能。其 API 支持多种自定义搜索参数,可以调用 135 个不同的搜索引擎,包括 Google Scholar、Arxiv、GitHub 等。
核心原理解析
SearxNG 的 API 允许发送 HTTP 请求以获取搜索结果。通过自定义参数,可以限定搜索引擎、语言、结果数量等。例如,可以将搜索引擎限定为 Wikipedia,或者设置返回结果的数量限制为 5 条。
代码实现演示
下面是一个简单的 Python 示例,演示如何使用 SearxNG API 进行基本搜索:
import pprint
from langchain_community.utilities import SearxSearchWrapper
# 使用 SearxSearchWrapper 进行搜索
search = SearxSearchWrapper(searx_host="http://127.0.0.1:8888")
# 执行搜索
result = search.run("What is the capital of France")
print(result) # 输出结果
# 自定义搜索参数
search = SearxSearchWrapper(searx_host="http://127.0.0.1:8888", k=5)
result = search.run("large language model", engines=["wiki"])
print(result)
# 设置搜索语言
search = SearxSearchWrapper(searx_host="http://127.0.0.1:8888", k=1)
result = search.run("deep learning", language="es", engines=["wiki"])
print(result)
# 获取含元数据的搜索结果
results = search.results(
"Large Language Model prompt",
num_results=5,
categories="science",
time_range="year",
)
pprint.pp(results)
应用场景分析
- 科研工作者:可以用它迅速找到相关的学术论文。
- 开发者:可以用来查找代码库和技术文档。
- 内容创作者:可以用它查找信息来源,辅助写作。
实践建议
- 自定义搜索参数:充分利用自定义参数来优化搜索体验,比如指定搜索引擎、结果数量、语言等。
- 处理搜索结果:根据需求处理和过滤搜索结果,例如只保留特定来源的结果。
- 定期更新:保持 SearxNG 实例的更新,以利用最新的功能和性能改进。
结束语:如果遇到问题欢迎在评论区交流。
—END—