一个用于批量查询 DeBank 钱包资产的脚本:支持并发抓取、分批写入 Excel、断点续跑(程序中断后可继续补全未完成的钱包)。
- Python 3.9+ ✅
- Playwright (Chromium) ✅
- Windows / macOS / Linux ✅
- 批量读取钱包地址:从
钱包地址.txt按行读取(第 1 行=钱包1,第 2 行=钱包2…) - 异步并发抓取:使用 Playwright 异步模式,提高吞吐
- 稳定值判定:不依赖页面初始值(可能为
$0或中间态),等待数值稳定后再读取 - 每批写入一次 Excel:每处理
batch_size个钱包就落盘一次,避免长任务丢结果 - 断点续跑:若
资产结果.xlsx已存在,会自动读取并跳过已有数据,仅抓取缺失项 - 按地址精准更新:以“地址”为主键更新资产,避免顺序变化导致写错行
生成/更新文件:资产结果.xlsx
| 钱包 | 地址 | 资产(value) |
|---|---|---|
| 钱包1 | 0x... | 19.0 |
| 钱包2 | 0x... | 23.0 |
Python 版本建议:3.9+
安装依赖(仓库根目录下执行):
pip install -r requirements.txt
playwright install chromium在脚本同目录创建:钱包地址.txt
每行一个钱包地址,例如:
0x1111111111111111111111111111111111111111
0x2222222222222222222222222222222222222222
python asset_batcher.py运行过程中会在控制台实时输出进度,例如:
完成 钱包1 | 资产: 19.0 | 地址: 0x...
本批已写入 Excel:20/800
休息45秒…
concurrency:并发数(建议 3~5,太高可能触发风控导致失败率上升)batch_size:每批处理的钱包数量sleep:每批之间的休息时间(秒)retries:单钱包内部重试次数headless:是否无头模式(True更快,False通常更稳)
通常是页面渲染/网络抖动/风控导致未获取到有效值。脚本会自动重试;若仍失败,该地址对应的资产会保持为空(NaN),下次运行会自动继续补全。
直接再次运行脚本即可。脚本会读取现有 资产结果.xlsx,跳过已有资产数据,只抓取缺失项。
本项目仅用于学习与个人数据管理,请遵守 DeBank 的服务条款与相关法律法规。高并发/高频访问可能触发风控或限制,请合理设置参数。