2.1 KiB
2.1 KiB
Downloader 使用说明
作用
用于从 5E Arena 比赛页面抓取 iframe 内的 JSON 结果,并按需下载 demo 文件到本地目录。
运行环境
- Python 3.9+
- Playwright
安装依赖:
python -m pip install playwright
python -m playwright install
快速开始
单场下载(默认 URL):
python downloader.py
指定比赛 URL:
python downloader.py --url https://arena.5eplay.com/data/match/g161-20260118222715609322516
批量下载(从文件读取 URL):
python downloader.py --url-list gamelist/match_list_2026.txt
指定输出目录:
python downloader.py --out output_arena
只抓 iframe 数据或只下载 demo:
python downloader.py --fetch-type iframe
python downloader.py --fetch-type demo
主要参数
- --url:单场比赛 URL,未传时使用默认值
- --url-list:包含多个比赛 URL 的文本文件,一行一个 URL
- --out:输出目录,默认 output_arena
- --match-name:输出目录前缀名,默认从 URL 提取
- --headless:是否无头模式,true/false,默认 false
- --timeout-ms:页面加载超时毫秒,默认 30000
- --capture-ms:主页面 JSON 监听时长毫秒,默认 5000
- --iframe-capture-ms:iframe 页面 JSON 监听时长毫秒,默认 8000
- --concurrency:并发数量,默认 3
- --goto-retries:页面打开重试次数,默认 1
- --fetch-type:抓取类型,iframe/demo/both,默认 both
输出结构
下载目录会以比赛编号或自定义名称创建子目录:
output_arena/
g161-20260118222715609322516/
iframe_network.json
g161-20260118222715609322516_de_ancient.zip
g161-20260118222715609322516_de_ancient.dem
URL 列表格式
文本文件一行一个 URL,空行和以 # 开头的行会被忽略:
https://arena.5eplay.com/data/match/g161-20260118222715609322516
# 注释
https://arena.5eplay.com/data/match/g161-20260118212021710292006
常见问题
- 如果提示 Playwright 未安装,请先执行安装命令再运行脚本
- 如果下载目录已有文件,会跳过重复下载