
本文介绍一种绕过 bard api 密钥频繁失效限制的实用方案:利用 selenium 自动化访问免登录、免付费的第三方 ai 聊天平台(如 flowgpt、pi.ai),实现稳定、零成本、可持续运行的 python 聊天机器人。
在实际开发中,直接调用 Bard(现为 Gemini)官方 API 存在明显局限:其身份认证依赖浏览器 Cookie,而 Cookie 有效期仅 10–20 分钟,需频繁手动刷新或复杂逆向维护,极难用于长期服务。OpenAI 等商用 API 虽稳定,但不符合“免费+低运维”需求。此时,转向合规、公开、无需 API Key 的 Web 端 AI 服务,配合自动化交互,成为更可行的技术路径。
✅ 推荐方案:Selenium + 免费 Web AI 平台
以下两个平台经实测稳定、响应快、无强制登录,适合封装为聊天机器人后端:
⚠️ 注意事项: 使用前请务必查阅各平台 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.php.cn/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 服务”架构,不仅满足免费、免维护的核心诉求,也为后续扩展(如多模型路由、对话历史管理、前端集成)提供了灵活基础。关键在于选择结构稳定、政策友好的目标站点,并以工程化思维构建健壮的交互层。










