Bootstrap

AI工具实时搜索与分析系统

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 函数,我们需要确保以下几点:

  1. 安装所需库:确保你已经安装了 requestsstreamlit
  2. 配置 API 密钥:在 EnhancedConfig 中设置你的 SERPER_API_KEY
  3. 创建测试流程:使用 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 文件中读取的工具,并对每个工具进行实时搜索。
  • 如果调用成功,将显示每个工具名称下的搜索结果,如果没有结果则提示“暂无搜索结果”。

截屏2025-02-17 16.20.31

注意事项

  1. API 限制:确保你的 SERPER API 密钥有效且账户没有达到请求限制。
  2. 异常处理:在实际应用中,考虑添加更多的错误处理逻辑,以应对网络请求失败或响应格式不正确的情况。
  3. 数据隐私:确保遵循相关数据隐私和保护政策,特别是在处理敏感信息时。

通过这些步骤,你应该能够通过 Excel 文件测试 real_time_search 函数。

意外收获,超级完美!!!

;