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

Python网页爬虫修改需求:仅输出首位网球选手名称(VS2022)

解决Python爬虫仅输出首位网球选手名称的问题

原代码会遍历页面所有<h2>标签及其中的<a>标签,导致输出两位选手名称。要仅输出首位选手,可通过以下修改实现:

修改思路

  • 不再遍历所有<h2>标签,直接获取页面中第一个包含选手信息的<h2>元素
  • 仅提取该<h2>下的第一个<a>标签内容,而非遍历所有链接
  • 输出后直接结束操作,避免处理后续元素

修改后的代码

import requests
from bs4 import BeautifulSoup

response = requests.get("https://www.betexplorer.com/tennis/atp-singles/basel/auger-aliassime-felix-bublik-alexander/U5HIueTc/")
webpage = response.content

soup = BeautifulSoup(webpage, "html.parser")

# 获取第一个包含选手链接的h2标签
first_h2 = soup.find('h2')
if first_h2:
    # 获取该h2下的第一个a标签
    first_player = first_h2.find('a')
    if first_player:
        # 输出处理后的选手名称
        print(first_player.text.replace(" ", "_"))

修改说明

  1. 将soup.find_all('h2')改为soup.find('h2'):find()方法只会返回匹配到的第一个元素,而非所有元素
  2. 将遍历<a>标签的逻辑改为直接调用find('a'):仅获取第一个选手链接
  3. 增加简单的判空逻辑,避免因页面结构变化导致的报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:45:41