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

如何用BeautifulSoup同时抓取MLS两个分区表格的球队链接?

批量抓取MLS东西部联盟球队链接

你原来的代码只抓取了第一个表格的链接,要同时获取东西部两个表格的链接,只需要调整表格选择方式并遍历所有目标表格即可。

修改后的代码如下:

import requests
from bs4 import BeautifulSoup

standings_url = "https://fbref.com/en/comps/22/Major-League-Soccer-Stats"
data = requests.get(standings_url)
soup = BeautifulSoup(data.text, "lxml")

# 获取所有class为stats_table的表格(前两个对应东西部联盟)
standings_tables = soup.select("table.stats_table")
team_urls = []

for table in standings_tables:
    # 提取当前表格内的所有链接
    links = [l.get("href") for l in table.find_all("a")]
    # 筛选出指向球队页面的链接
    squad_links = [l for l in links if "/squads/" in l]
    # 拼接完整URL并添加到总列表
    team_urls.extend([f"https://fbref.com{l}" for l in squad_links])

# 可选:去重(避免出现重复的球队链接)
team_urls = list(set(team_urls))
print(team_urls)

关键修改说明:

  • 把soup.select_one("table.stats_table")改为soup.select("table.stats_table"),这样会返回页面上所有匹配的表格,正好对应东部、西部联盟的两个目标表格
  • 新增循环遍历每个表格,逐个提取链接并合并到总列表中
  • 可选的去重步骤确保最终列表里没有重复的球队链接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:12:11