AI工具实时搜索与分析系统
最近一直在完善我开发的AI工具信息平台,这里有一个AI工具实时搜索与分析功能模块。函数源码如下:
def real_time_search(query):
"""使用Serper API进行全网搜索"""
url = "https://google.serper.dev/search"
payload = {
"q": f"{query} AI工具 教程 最新资讯",
"gl": "cn",
"hl": "zh-cn",
"num": 5
}
headers = {
'X-API-KEY': EnhancedConfig.SERPER_API_KEY, #请设置你的制定API_KEY
'Content-Type': 'application/json'
}
try:
response = requests.post(url, json=payload, headers=headers)
results = response.json()
return parse_serper_results(results)
except Exception as e:
st.error(f"搜索失败:{str(e)}")
return []
为了测试 real_time_search
函数,我们需要确保以下几点:
- 安装所需库:确保你已经安装了
requests
和streamlit
。 - 配置 API 密钥:在
EnhancedConfig
中设置你的SERPER_API_KEY
。 - 创建测试流程:使用 Excel 文件中的数据,通过
real_time_search
函数进行搜索,并输出结果。
步骤 1:准备环境
首先,确保安装所需的库。如果尚未安装,可以使用以下命令:
pip install requests streamlit
步骤 2:设置 EnhancedConfig 类
确保在代码中定义 EnhancedConfig
类并包含 SERPER_API_KEY
。如果没有API密钥,可以使用一个假的值以便于测试:
class EnhancedConfig:
SERPER_API_KEY = 'your_api_key_here' # 替换为实际的 API 密钥
步骤 3:编写函数及测试代码
接下来,结合之前的 Excel 文件读取和搜索功能,编写完整的测试代码。
import pandas as pd
import requests
import streamlit as st
class EnhancedConfig:
SERPER_API_KEY = 'your_api_key_here' # 替换为实际的 API 密钥
def parse_serper_results(results):
"""解析Serper API返回的搜索结果"""
if 'organic' in results:
return [(item['title'], item['link']) for item in results['organic']]
return []
def real_time_search(query):
"""使用Serper API进行全网搜索"""
url = "https://google.serper.dev/search"
payload = {
"q": f"{query} AI工具 教程 最新资讯",
"gl": "cn",
"hl": "zh-cn",
"num": 5
}
headers = {
'X-API-KEY': EnhancedConfig.SERPER_API_KEY,
'Content-Type': 'application/json'
}
try:
response = requests.post(url, json=payload, headers=headers)
results = response.json()
return parse_serper_results(results)
except Exception as e:
st.error(f"搜索失败:{str(e)}")
return []
def main():
# 从 Excel 文件读取工具数据
excel_file = 'test_tools.xlsx'
df = pd.read_excel(excel_file, sheet_name='Tools')
# 对每个工具进行实时搜索
for _, row in df.iterrows():
tool_name = row['Name']
search_results = real_time_search(tool_name)
# 打印或展示搜索结果
st.write(f"工具: {tool_name}")
if search_results:
for title, link in search_results:
st.write(f"- [{title}]({link})")
else:
st.write("- 暂无搜索结果")
if __name__ == "__main__":
main()
步骤 4:运行测试
将所有代码保存到 Python 文件,例如 test_real_time_search.py
,然后在命令行中运行以下命令:
streamlit run test_real_time_search.py
验证输出
- 程序启动后会打开一个浏览器窗口,你将看到从 Excel 文件中读取的工具,并对每个工具进行实时搜索。
- 如果调用成功,将显示每个工具名称下的搜索结果,如果没有结果则提示“暂无搜索结果”。
注意事项
- API 限制:确保你的 SERPER API 密钥有效且账户没有达到请求限制。
- 异常处理:在实际应用中,考虑添加更多的错误处理逻辑,以应对网络请求失败或响应格式不正确的情况。
- 数据隐私:确保遵循相关数据隐私和保护政策,特别是在处理敏感信息时。
通过这些步骤,你应该能够通过 Excel 文件测试 real_time_search
函数。
意外收获,超级完美!!!