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

使用BeautifulSoup爬取维基百科页面出现Bad Title错误如何解决

问题原因
  • URL未正确格式化:你定义url的语句没有加f前缀,属于普通字符串,{wiki}占位符不会被替换为用户输入的内容,实际请求的是https://en.wikipedia.org/wiki/{wiki}这个无效地址,自然触发维基的Bad Title错误。
  • 存在其他潜在风险:没有对请求结果做校验,如果页面不存在、网络请求失败时,直接解析会抛出空对象异常;另外用户输入的词条如果带空格,维基的URL规范需要将空格替换为下划线,否则也会触发标题错误。
修复后可运行代码
import requests
from bs4 import BeautifulSoup

wiki = input('Enter the wiki:')
# 替换空格为下划线,符合维基URL规范
wiki_formatted = wiki.strip().replace(' ', '_')
# 加f前缀启用字符串格式化,替换占位符
url = f"https://en.wikipedia.org/wiki/{wiki_formatted}"
response = requests.get(url)

# 先校验请求是否成功
if response.status_code != 200:
    print(f"请求失败,状态码:{response.status_code}")
else:
    soup = BeautifulSoup(response.content, 'html.parser')
    title = soup.find(id="firstHeading")
    if title:
        print(title.string)
    else:
        print("未找到页面标题")
后续整页内容摘要实现思路
  • 维基百科的正文内容都包裹在id="mw-content-text"的容器下,可先定位到该节点,再提取所有<p>标签的文本内容
  • 过滤掉空段落、参考资料上标类的冗余内容,取前N个段落拼接即可作为页面摘要

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:06:04