信息发布→ 登录 注册 退出

如何用 Python 构建稳定免密的免费聊天机器人(基于 Web 自动化方案)

发布时间:2026-01-09

点击量:

本文介绍一种绕过 bard api 密钥频繁失效限制的实用方案:利用 selenium 自动化访问免登录、免付费的第三方 ai 聊天平台(如 flowgpt、pi.ai),实现稳定、零成本、可持续运行的 python 聊天机器人。

在实际开发中,直接调用 Bard(现为 Gemini)官方 API 存在明显局限:其身份认证依赖浏览器 Cookie,而 Cookie 有效期仅 10–20 分钟,需频繁手动刷新或复杂逆向维护,极难用于长期服务。OpenAI 等商用 API 虽稳定,但不符合“免费+低运维”需求。此时,转向合规、公开、无需 API Key 的 Web 端 AI 服务,配合自动化交互,成为更可行的技术路径。

✅ 推荐方案:Selenium + 免费 Web AI 平台

以下两个平台经实测稳定、响应快、无强制登录,适合封装为聊天机器人后端:

  • FlowGPT:支持多模型切换(含 GPT-4 类响应),界面简洁,DOM 结构稳定,XPath 定位可靠;
  • Pi.ai:情感化交互强,加载迅速,消息容器具有唯一性 CSS 类名,易于提取回复。
⚠️ 注意事项: 使用前请务必查阅各平台 Terms of Service 和 robots.txt,确保自动化访问符合其使用政策; 建议添加 time.sleep(1–2) 避免高频请求,尊重服务器资源; 生产环境应加入异常处理(如页面加载超时、元素未找到、网络中断),避免脚本崩溃。

? 示例代码(基于 FlowGPT + Selenium)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import time

def create_flowgpt_bot():
    # 无头模式启动(生产推荐)
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--no-sandbox")
    chrome_options.add_argument("--disable-dev-shm-usage")

    driver = webdriver.Chrome(options=chrome_options)
    wait = WebDriverWait(driver, 15)

    try:
        driver.get("https://www./link/5921c3ce65d4bb3a937371d88ea2d053")
        # 等待聊天输入框出现(根据实际 DOM 调整 selector)
        input_box = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR, "textarea[placeholder='Message FlowGPT...']"))
        )

        def send_message(text: str) -> str:
            input_box.clear()
            input_box.send_keys(text)
            # 模拟回车提交(或点击发送按钮,视页面结构而定)
            input_box.submit()

            # 等待最新回复块加载(以 class="message-response" 为例,请按实际调整)
            response_elem = wait.until(
                EC.presence_of_element_located((By.XPATH, "(//div[contains(@class,'message-response')])[last()]"))
            )
            time.sleep(2)  # 确保内容渲染完成
            return response_elem.text.strip()

        return send_message

    except Exception as e:
        print(f"初始化失败:{e}")
        driver.quit()
        raise

# 使用示例
if __name__ == "__main__":
    chat = create_flowgpt_bot()
    print(chat("你好!请用一句话介绍你自己。"))

? 进阶建议

  • 会话持久化:通过 driver.get_cookies() 保存并复用会话 Cookie,减少重复加载开销;
  • 并发控制:单个 WebDriver 实例不支持多用户并发,如需高并发,可结合 ThreadPoolExecutor 或使用轻量级无头浏览器池(如 Playwright 更优);
  • 响应解析增强:对返回文本做 Markdown 清洗、代码块提取、流式截断等,提升输出质量;
  • 替代技术选型:若 Selenium 维护成本过高,可评估 Playwright —— 同样支持多浏览器、自动等待、更健壮的抗反爬能力,且 API 更现代。

综上,放弃依赖易失效的私有 API 密钥,转而采用“Web 自动化 + 公共 AI 服务”架构,不仅满足免费、免维护的核心诉求,也为后续扩展(如多模型路由、对话历史管理、前端集成)提供了灵活基础。关键在于选择结构稳定、政策友好的目标站点,并以工程化思维构建健壮的交互层。

标签:# css  # python  # 前端  # markdown  # cookie  # 浏览器  # 后端  # ai  # 路由  # openai  # gpt  # gpt-4  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!