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

使用Python爬虫获取网页元素时始终返回'None'的求助

解决网页胜场数爬取返回None的问题

问题原因

原代码里的class='text-success '可能因网页结构更新、class名带多余空格,或是未定位到正确的父容器,导致无法找到目标元素。另外也可能是请求未正常获取到网页内容。

修正后的代码

from bs4 import BeautifulSoup
import requests

URL = "https://www.fctables.com/teams/sunderland-194998/?template_id=11"
response = requests.get(URL)

# 先确认请求成功
if response.status_code == 200:
    soup = BeautifulSoup(response.text, "html.parser")
    # 定位到"Overall match stats"的统计区域
    overall_stats = soup.find("div", string="Overall match stats").find_parent("div", class_="card")
    if overall_stats:
        # 在该区域内查找胜场数元素
        win_element = overall_stats.find("div", class_="text-success")
        if win_element:
            # 提取文本并转为整数
            wins = int(win_element.get_text(strip=True))
            print(wins)  # 输出6
        else:
            print("未找到胜场元素")
    else:
        print("未找到总比赛统计区域")
else:
    print(f"请求失败,状态码:{response.status_code}")

关键调整说明

  • 增加请求状态码判断,确保网页内容正常获取
  • 先定位到"Overall match stats"的父容器,缩小查找范围,避免匹配到页面其他无关的text-success元素
  • 用get_text(strip=True)去除文本多余空格,再转为整数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:56:22