综合介绍
Free-Search 是一个由 Hanzla Javaid 开发的开源 API 工具,托管在 GitHub 上。它的主要功能是通过自定义搜索引擎提供实时的谷歌搜索结果,并爬取网页内容返回结构化数据。这个工具专为 AI 代理和大型语言模型(LLM)应用设计,帮助提升互联网数据的可访问性。用户可以免费使用它,只需下载代码并在本地部署。项目使用 Python 开发,支持自定义搜索参数,适合开发者和技术团队使用。目前,它已提供公共演示实例,方便体验。
功能列表
- 支持实时谷歌搜索,输入关键词后返回最新结果。
- 自动爬取搜索结果页面,提取每页的核心内容。
- 返回结构化数据,包括来源、链接和内容片段。
- 可调整结果数量(1-5条)和每条内容长度(100-5000字符)。
- 开源代码,用户可以自由修改和优化。
- 提供公共演示实例,无需安装即可试用。
使用帮助
Free-Search 是一个面向开发者的 API 工具,需要一定技术基础才能安装和使用。以下是详细的操作指南,帮助你快速上手。
如何安装
Free-Search 需要从 GitHub 下载源码并配置运行环境。以下是具体步骤:
- 克隆仓库
打开浏览器,访问https://github.com/HanzlaJavaid/Free-Search
,点击绿色Code
按钮,选择Download ZIP
下载压缩包。或者用命令行输入:
git clone https://github.com/HanzlaJavaid/Free-Search.git
下载完成后,进入项目文件夹。
- 安装依赖
项目需要 Python 3.7 或更高版本,以及几个关键库。在命令行中运行:
pip install fastapi uvicorn pydantic playwright beautifulsoup4
这会安装 FastAPI(构建 API)、Uvicorn(运行服务器)、Pydantic(数据验证)、Playwright(网页爬取)和 BeautifulSoup4(解析 HTML)。
- 安装 Playwright 浏览器
项目依赖 Playwright 的 Chromium 浏览器,运行以下命令安装:
playwright install chromium
安装后,工具才能正常爬取网页。
- 启动服务
在项目文件夹中运行:
xvfb-run python main.py
如果你在 Linux 系统上没有图形界面,xvfb-run
是必须的;Windows 或 Mac 用户可以直接运行 python main.py
。启动后,API 服务会在本地运行,默认端口为 11235。
如何使用主要功能
Free-Search 的核心是搜索 API,运行后通过 HTTP 请求获取结果。以下是操作流程:
- 访问 API 端点
服务启动后,打开浏览器或命令行工具,访问http://localhost:11235/search
。你需要提供搜索参数,比如关键词。 - 发送搜索请求
使用curl
或其他工具发送请求。例如:
curl "http://localhost:11235/search?query=fastapi+tutorial&max_results=2&max_content=1000"
query
:搜索关键词,必填,比如 "fastapi tutorial"。max_results
:返回结果数量,可选,默认 3,范围 1-5。max_content
:每条结果的内容长度,可选,默认 2000 字符,范围 100-5000。- 查看返回结果
API 会返回 JSON 格式的结构化数据,例如:
[
{
"source": "fastapi官方文档",
"link": "https://fastapi.tiangolo.com/tutorial/",
"context": "FastAPI 是一个现代、快速的 Web 框架..."
},
{
"source": "教程博客",
"link": "https://example.com/fastapi-guide",
"context": "本教程介绍如何使用 FastAPI 构建 API..."
}
]
每条结果包括来源名称、链接和提取的内容。
特色功能操作
- 实时谷歌搜索
Free-Search 通过自定义搜索引擎连接谷歌,获取最新结果。无需自己开发爬虫,只需输入关键词即可使用。 - 内容爬取与结构化输出
工具会自动访问每个搜索结果页面,提取主要内容并整理成易读的格式。这对 AI 应用特别有用,可以直接喂给模型处理。 - 自定义参数
你可以调整max_results
和max_content
,控制返回数据的数量和详细程度。比如,想获取更多结果,可以用:
curl "http://localhost:11235/search?query=python+学习&max_results=5"
- 使用公共实例
如果不想本地安装,可以直接访问官方提供的演示实例:https://freesearch.replit.app/
。只需在浏览器输入类似https://freesearch.replit.app/search?query=测试
的地址,就能试用。
注意事项
- 本地运行时,确保网络畅通,因为工具需要访问谷歌和其他网页。
- 如果遇到 Playwright 错误,检查 Chromium 是否正确安装。
- 项目是开源的,你可以修改
main.py
或其他文件,添加新功能,比如支持其他搜索引擎。
通过这些步骤,你可以轻松部署并使用 Free-Search,获取实时搜索数据。
应用场景
- AI 代理开发
开发者可以用 Free-Search 获取实时网页数据,训练或增强 AI 代理的知识库。
场景描述:比如,你在开发一个聊天机器人,需要它回答最新的科技新闻。Free-Search 可以提供相关网页内容,让机器人给出准确回答。
- LLM 数据输入
大型语言模型需要大量外部数据支持,Free-Search 可以作为数据源。
场景描述:你在构建一个论文分析模型,输入关键词“机器学习”,Free-Search 返回最新论文的链接和摘要,供模型处理。
- 个人研究工具
学生或研究者可以用它快速收集网络信息。
场景描述:写论文时,输入“气候变化影响”,获取多个来源的实时数据,节省搜索时间。
QA
- Free-Search 和谷歌搜索有什么区别?
Free-Search 是一个 API 工具,能自动爬取谷歌搜索结果并返回结构化数据,而谷歌搜索只提供网页界面。 - 公共实例和本地部署有什么不同?
公共实例无需安装即可使用,但可能有访问限制;本地部署完全可控,还能自定义功能。 - 支持中文搜索吗?
是的,只要输入中文关键词,API 就会返回相关结果,前提是谷歌能找到匹配内容。