一键下载腾讯体育 NBA 球员定妆照

许多朋友在腾讯体育收看 NBA 比赛,我也一样。看球赛的同时,我们会想着了解球队的战绩,球员的资料,比如“湖人”队数据:联盟对比,球队数据王,赛季数据等。

在球队数据王模块,我发现了宝藏:球员的定妆照,比仅一个脑袋的头像好看多了。

查看照片网址为:https://sports3.gtimg.com/playerPic/88699.png,这和东契奇的球员资料页网址:https://sports.qq.com/kbsweb/players.htm?pid=88699,其中最后的数字是一致的,这就是 NBA 球员在腾讯体育的 ID 。

因此,我们可以通过获得球员的 ID 替换东契奇照片网址中的 ID ,来获得该球员的定妆照。比如,东契厅的 ID 是88699,詹姆斯的 ID 是 88608。

我就在想,腾讯体育中应该有所有 NBA 球员的定妆照,我是否可以批量下载呢?答案是肯定的,有个下载软件就能批量下载,只有知道起始ID 和终止ID 就行。好奇的我,耐心地排查了一下,至少在 88521~89245 之间。

现在基本不用专门的下载软件了,偶尔下载个资源,我都直接用浏览器的下载器,直接保存就行了。现在要批量下载怎么办呢?还是问下万能的 DeepSeek 吧。

我用的是统信 UOS 系统,DeepSeek 说可以使用 Python 的 requests 库配合循环来实现批量下载,并给出了完整的解决方案:

1、首先检查 Python 是否已安装,打开终端,键入:

python3 --version

显示 Python 版本(如 Python 3.7.3),说明已安装。如果没有安装,可以使用以下命令安装:

sudo apt update
sudo apt install python3 python3-pip

2、安装 requests 库

pip3 install requests

结果报错:bash: pip3:未找到命令。那我们首先要安装 pip3,按提示回答 Y 即可。

# 更新软件包列表
sudo apt update

# 安装 python3-pip
sudo apt install python3-pip

3、创建 Python 脚本文件

  1. 打开 UOS 的文本编辑器

  2. 复制 Python 代码到编辑器中

  3. 点击“保存”,文件名输入 download_images.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import requests
import os
import sys
from concurrent.futures import ThreadPoolExecutor, as_completed

def show_progress(current, total):
"""显示进度条"""
percentage = (current / total) * 100
bar_length = 50
filled_length = int(bar_length * current // total)
bar = '█' * filled_length + '░' * (bar_length - filled_length)
sys.stdout.write(f'\r进度: |{bar}| {current}/{total} ({percentage:.1f}%)')
sys.stdout.flush()

def download_image(player_id):
"""下载单个图片"""
url = f"https://sports3.gtimg.com/playerPic/{player_id}.png"

try:
# UOS 系统可能需要更长的超时时间
response = requests.get(url, timeout=15, headers={
'User-Agent': 'Mozilla/5.0 (X11; UOS) AppleWebKit/537.36'
})

if response.status_code == 200:
content_type = response.headers.get('content-type', '')
if 'image' in content_type and response.content:
filename = f"playerPic_{player_id}.png"
with open(filename, 'wb') as f:
f.write(response.content)
return True, player_id
else:
return False, f"{player_id}: 不是图片文件"
else:
return False, f"{player_id}: HTTP {response.status_code}"

except requests.exceptions.Timeout:
return False, f"{player_id}: 请求超时"
except Exception as e:
return False, f"{player_id}: {str(e)}"

def main():
print("=" * 60)
print("统信 UOS 批量图片下载工具")
print("=" * 60)

# 创建保存目录
save_dir = "球员图片"
if not os.path.exists(save_dir):
os.makedirs(save_dir)

# 切换到保存目录
original_dir = os.getcwd()
os.chdir(save_dir)

# 设置下载范围
start_id = 88521
end_id = 89245
total = end_id - start_id + 1

print(f"📁 保存到: {os.path.join(original_dir, save_dir)}")
print(f"📥 下载范围: {start_id} 到 {end_id}")
print(f"📊 总数量: {total} 张图片")
print("-" * 60)

successful = 0
failed_list = []

# 使用线程池(统信 UOS 建议用较小的线程数)
with ThreadPoolExecutor(max_workers=3) as executor:
# 提交所有任务
future_to_id = {
executor.submit(download_image, player_id): player_id
for player_id in range(start_id, end_id + 1)
}

# 处理结果
completed = 0
for future in as_completed(future_to_id):
completed += 1
player_id = future_to_id[future]

try:
success, result = future.result()
if success:
successful += 1
else:
failed_list.append(result)
except Exception:
failed_list.append(f"{player_id}: 未知错误")

# 显示进度
show_progress(completed, total)

print("\n" + "=" * 60)
print("🎉 下载完成!")
print(f"✅ 成功下载: {successful} 张")
print(f"❌ 失败数量: {len(failed_list)} 张")

if failed_list:
print("\n失败列表(前10项):")
for fail in failed_list[:10]:
print(f" {fail}")
if len(failed_list) > 10:
print(f" ... 还有 {len(failed_list)-10} 个失败项")

print(f"\n💾 图片保存在:{os.path.abspath('.')}")
print("=" * 60)

# 返回原目录
os.chdir(original_dir)

if __name__ == "__main__":
try:
main()
input("\n按 Enter 键退出...")
except KeyboardInterrupt:
print("\n\n⚠️ 用户中断下载")
except Exception as e:
print(f"\n❌ 程序出错: {e}")
input("按 Enter 键退出...")

4、运行脚本

在脚本文件所在文件夹中打开终端,执行:

# 给脚本添加执行权限
chmod +x download_images.py

# 运行脚本
python3 download_images.py

脚本顺利运行,并有进度条显示下载完成情况,最后是有95个失效项,结束后按 Enter 键退出,照片就下载到了电脑 - 图片 - 球员图片文件夹里了。

5、创建桌面快捷方式(可选)

如果你想创建桌面图标来运行脚本:

  1. 在桌面右键选择"新建文件" → "文本文件"

  2. 命名为 下载图片.desktop

  3. 内容如下,注意修改脚本文件的路径:

[Desktop Entry]
Version=1.0
Type=Application
Name=下载球员图片
Comment=批量下载球员图片
Exec=python3 /你的路径/download_images.py
Icon=applications-internet
Terminal=true
Categories=Utility;

  1. 保存后,右键该文件 → "属性" → "权限" → 勾选"允许以程序执行文件"

今天会想到写这篇博文,主要是之前虽然知道 Python 很强大,但一直觉得它很神秘,不知道该如何去操作,这番实践下来,原来只要制定一个脚本,统信 UOS  终端中就能运行,这就给自己打开了思路,以后有什么需求,比如下个电影资源一类的,就能按图索翼去操作了。


历史上的今天:

相关推荐

遭遇 FaceTime 电话诈骗

近日,“微信安全中心”“支付宝”官方微信公众号相继发布消息称,有骗子假冒“微信客服中心”“支付宝客服”等身份,使用苹果手机的“FaceTime”功能,向用户发起视频通话,进而诈骗。我也亲身经历了一次 FaceTime 电话诈骗。 接到 FaceTime 电话的其实是我爱人。我刚下班回到家,爱人急忙把电话递给我:“你来说!她说 ...

帮小忙:关键时刻能顶大用的腾讯在线工具箱平台

有很多时候,我们要实现某个功能,往往都要安装相应的软件,但这个功能一年可能也只用一两次,所以人们就不太愿意麻烦地安装这个软件,由此也催生了一些集成许多小功能的工具类软件。 现在,人们更愿意使用在线工具,打开浏览器直接用,使用完毕,关掉浏览器就成,不会给电脑造成任何垃圾。 当然,在线工具良莠不齐,很 ...

磁力下载推荐 Motrix ,免费开源速度快

最近在电报群组上看到几个电影资源,是磁力链接的,我用万能下载工具 Free Download Manager 下载时,卡在“获取信息,请稍等”,总是嗅探不出下载资源。 请教大侠,建议使用官方客户端,我在网上转了一圈,也没看到磁力链接下载的官方网站。不过,有网友推荐了 Motrix,一款高颜值的下载工具。 官方网站:https://motri ...

打开QQ群提示:“该群因涉嫌违规,已被停用”,怎么办?

今天打开一个 QQ 群时,弹出个安全提醒:该群因涉嫌违规,已被停用。细看群列表中,该群图标加上了橙黄色警示标识,群说明也改成了:该群涉嫌违规,已被停用。 查看详情: QQ群打开时提示已被停止使用,是由于其他用户举报您的群,经我司核实您的群涉及发布违反法律规定及不良信息,根据国家互联网相关法规对此群进行了 ...

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。