Streamlit无法显示终端输出URL的问题求助
问题分析与修复方案
核心问题点
- 函数定义错误:
get_founder函数使用了self参数,但从调用方式来看,若startup_info不是类实例,会直接报错;若是类方法,代码中未体现对应类的定义,逻辑矛盾。 - 循环逻辑失效:循环内的
if result in result.lower()条件无实际意义,且无论条件是否成立都会立即return,导致循环仅执行一次就终止,无法遍历所有搜索结果。 - 变量未定义:代码中
startups和startup_info变量未给出定义,会引发运行时错误。
修复后的代码示例
from googlesearch import search import streamlit as st # 修正:改为普通函数,移除不必要的self参数 def get_founder(startup_name): query = f"founder of {startup_name}?" search_results = list(search(query)) # 修正:返回第一个搜索结果(无结果则返回提示) if search_results: return search_results[0] return "Founder name not found" # 补充:定义目标创业公司名称(可替换为实际输入) startups = "目标创业公司名称" # 修正:直接调用函数 founder = get_founder(startups) # Streamlit输出内容 st.write(founder)
额外优化建议
- 若需要筛选更精准的结果,可在循环中添加关键词判断:
def get_founder(startup_name): query = f"founder of {startup_name}?" search_results = list(search(query)) for result in search_results: # 筛选包含创始人相关关键词的结果 if any(keyword in result.lower() for keyword in ["founder", "ceo", "founders"]): return result return "Founder name not found"
- 可通过Streamlit输入组件获取用户输入,提升交互性:
startups = st.text_input("请输入创业公司名称") if startups: founder = get_founder(startups) st.write(founder)
内容的提问来源于stack exchange,提问作者Korak RoyGhatak
相关产品推荐
相关产品推荐

