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

求助:爬取FBref网站MLS球员射门创造数据时获球队表格

解决FBref MLS球员数据爬取错误问题

你的问题出在pd.read_html()会返回页面中所有HTML表格的列表,默认展示的是列表第一个元素(球队统计表格),而目标球员进球与射门创造数据表格是列表的第二个元素(索引为1)。

解决方案1:通过索引直接获取目标表格

修改代码,指定取列表中的第二个表格:

import pandas as pd

url_df = 'https://fbref.com/en/comps/22/gca/Major-League-Soccer-Stats'

# 获取页面所有表格
all_tables = pd.read_html(url_df)
# 取第二张表格(索引从0开始计数)
player_gca_df = all_tables[1]
# 查看结果
print(player_gca_df.head())

解决方案2:用match参数精准匹配目标表格

为了避免页面表格顺序变动导致索引失效,可以通过匹配表格的表头关键词(比如球员表包含"Player"列)来定位:

import pandas as pd

url_df = 'https://fbref.com/en/comps/22/gca/Major-League-Soccer-Stats'

# 匹配包含"Player"的表格,直接返回目标表格
player_gca_df = pd.read_html(url_df, match="Player")[0]
print(player_gca_df.head())

补充说明

  • FBref当前页面中,球队统计表格是页面的第一个表格,球员个人统计是第二个,所以用索引1可以直接获取。
  • 使用match参数更健壮,即使页面表格顺序调整,只要表头关键词不变就能正确抓取目标数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:12:32