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

NameError: name 'html'未定义错误求助,爬虫新手求解决方法

解决 NameError: name 'html' is not defined 错误

这个错误的核心是你在代码里使用了html变量,但这个变量要么没被定义,要么没正确赋值。下面是具体原因和对应解决办法:

常见原因

  • 变量未赋值:你跳过了获取网页内容并赋值给html的步骤,直接就想用这个变量做解析。比如用requests库爬取时,必须先发起请求把网页内容存到html里,不然Python不知道html是什么。
  • 拼写/大小写错误:Python对变量名大小写敏感,如果你定义的是Html或者htm,却调用html,就会触发这个错误。
  • 作用域问题:如果html是在某个函数内部定义的局部变量,你在函数外面调用它,就会找不到这个变量。

对应解决办法

  • 补全网页请求流程:先通过请求获取网页内容并赋值给html,示例代码:
    import requests
    from bs4 import BeautifulSoup
    
    target_url = "你要爬取的网页地址"
    # 发起请求并获取网页文本内容
    resp = requests.get(target_url)
    html = resp.text
    # 现在可以正常用html做解析了
    soup = BeautifulSoup(html, "html.parser")
    
  • 核对变量名:逐行检查代码里所有用到html的地方,确保拼写、大小写完全一致,不要出现笔误。
  • 调整作用域:如果html是函数内的局部变量,要么把解析逻辑放到函数里,要么让函数返回html值供外部使用,示例:
    def fetch_html(url):
        resp = requests.get(url)
        return resp.text
    
    html = fetch_html("你的目标URL")
    # 后续解析操作正常进行
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:46:02