Python案例怎么看两队的历史交锋记录?

wen python案例 2

要查看两支球队的历史交锋记录,通常需要获取足球或篮球等体育赛事的历史数据,Python 可以通过以下方式实现:

Python案例怎么看两队的历史交锋记录?

  1. 数据来源:使用公开API(如 Football-Data.org、API-FOOTBALL)或爬虫抓取(如百度百科、维基百科)。
  2. 数据处理:解析 JSON/HTML,提取对战双方、比分、日期等。
  3. 展示结果:以表格或可视化图表呈现。

以下是一个基于 免费 API(Footbal-Data.org) 的示例,展示如何获取并查看两支球队的历史交锋记录(以英超为例):

import requests
import pandas as pd
from datetime import datetime
# 1. 配置API(Footbal-Data.org 需要注册获取免费API Key)
API_KEY = "你的API_KEY"  # 替换为真实key
headers = {"X-Auth-Token": API_KEY}
# 2. 定义两支球队(示例:曼联 vs 利物浦)
team1_name = "Manchester United FC"
team2_name = "Liverpool FC"
# 3. 获取所有比赛(可限制联赛和赛季)
url = "https://api.football-data.org/v4/teams/66/matches"  # 曼联的ID=66(需查对应ID)
# 更通用的方法:通过competition获取(英超ID=2021)
# url = "https://api.football-data.org/v4/competitions/2021/matches?season=2023"
response = requests.get(url, headers=headers)
data = response.json()
# 4. 筛选两队历史交锋记录
matches = []
for match in data.get("matches", []):
    home_team = match["homeTeam"]["name"]
    away_team = match["awayTeam"]["name"]
    # 检查是否包含这两支球队(不分主客)
    if (home_team == team1_name and away_team == team2_name) or \
       (home_team == team2_name and away_team == team1_name):
        match_info = {
            "日期": match["utcDate"][:10],
            "主队": home_team,
            "客队": away_team,
            "比分": f"{match['score']['fullTime']['home']} - {match['score']['fullTime']['away']}",
            "赛事": match["competition"]["name"]
        }
        matches.append(match_info)
# 5. 转为DataFrame并排序
df = pd.DataFrame(matches)
df = df.sort_values("日期", ascending=False)  # 最近比赛在前
# 6. 展示结果
print(f"📊 {team1_name} vs {team2_name} 历史交锋记录")
print(df.to_string(index=False))

输出示例

📊 Manchester United FC vs Liverpool FC 历史交锋记录
         日期          主队              客队      比分          赛事
2024-04-07  Manchester United FC  Liverpool FC     2-2        Premier League
2023-12-17  Liverpool FC         Manchester United FC  0-0        Premier League
...

关键注意事项

  1. API限制:免费API每天限50次请求,并需要注册获取Key。
  2. 球队ID:需查询具体球队ID,常用联赛ID:英超2021,西甲2014等。
  3. 历史深度:免费API只能获取最近几个赛季的记录,更完整的历史数据需付费或爬虫。

备选方案(爬虫示例):从百度百科爬取“曼联vs利物浦”交锋记录(需要解析HTML):

import requests
from bs4 import BeautifulSoup
url = "https://baike.baidu.com/item/曼联与利物浦比赛/..."  # 需具体页面
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
# 根据页面结构调整选择器
table = soup.find("table", class_="history_table")
# ... 解析表格行 ...

推荐路线

  • 快速测试:使用 Footbal-Data.org API(轻量级)。
  • 完整历史:爬虫抓取维基百科“Liverpool–Manchester United rivalry”页面表格。
  • 商业项目:购买 Sportmonks 或 Opta 付费API。

如果需要我帮你写一个特定两队(如巴西vs阿根廷)的历史交锋爬虫,请提供比赛页面的具体链接。

抱歉,评论功能暂时关闭!