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

网页爬取遇AttributeError: 'NoneType'无text属性但部分内容可爬取的原因?

错误原因解析

你遇到的AttributeError: 'NoneType' object has no attribute 'text',本质是当前遍历的class为item的div元素里,找不到class是content的子元素——find(class_='content')返回了None,你直接调用它的text属性就触发了错误。具体可能的情况有这几种:

  • 页面条目结构不一致:部分item类的div本身就没有content子节点,比如页面里的分隔栏、空条目、提示类区块,它们的布局和正常交易条目不同。
  • 动态内容未加载:目标网页的部分交易内容是通过JavaScript动态渲染的,requests只能抓取静态HTML源码,这部分动态生成的content元素在你拿到的页面里根本不存在。
  • 选择器匹配偏差:content类的元素可能不是itemdiv的直接子节点,或者页面里有同名但层级不对的元素,导致find()没匹配到你要的节点。
  • 网页结构更新:网站可能调整了页面布局,修改了content的类名或者元素嵌套结构,原有的选择器失效了。

你可以在代码里加个判断来排查具体是哪种情况:

for quote_div in soup.find_all('div', class_='item'):
    content_elem = quote_div.find(class_='content')
    if content_elem:
        # 正常处理内容
        print(content_elem.text.strip())
    else:
        # 输出当前item的HTML,查看结构差异
        print("无content元素的item区块:", quote_div)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:24:57