You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决斯坦福哲学百科随机条目生成器显示标题与跳转页面不一致问题

问题根因

你调用的https://plato.stanford.edu/cgi-bin/encyclopedia/random是重定向接口:

  • 第一次用requests.get访问该地址时,服务端会自动跳转到随机选中的具体条目页面,你代码里存的还是原始的随机接口地址,没有保存跳转后的实际条目地址
  • 当用户确认打开时,你再次用原始随机接口地址调起浏览器,相当于重新请求了一次随机接口,自然会得到和之前显示标题完全不同的新条目

修正后的代码

import requests
from bs4 import BeautifulSoup
import webbrowser

while True:
    random_url = "https://plato.stanford.edu/cgi-bin/encyclopedia/random"
    reqs = requests.get(random_url)
    # 存储请求完成后实际跳转的条目地址,和抓取到的标题一一对应
    real_entry_url = reqs.url
    soup = BeautifulSoup(reqs.text, "html.parser")
    for title in soup.find_all('title'):
        print(title.get_text() + "\n是否要查看该条目?\n输入Y确认,输入N重新获取")
    ans = input("").lower()
    if ans == "y":
        webbrowser.open(real_entry_url)
        break
    elif ans == "n":
        print("好的,正在重新获取\n")
        continue
    else:
        print("输入无效,程序退出")
        break

核心修改点

  • 新增real_entry_url变量存储requests请求完成后的最终跳转地址,避免重复调用随机接口
  • 修复了原代码中print语句的缩进错误,避免运行时触发语法异常
  • 打开浏览器时使用实际的条目地址,保证显示的标题和跳转的页面完全匹配
  • 优化了提示文案为中文,更符合使用习惯

内容的提问来源于stack exchange,提问作者noobie_forreal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:18:00