lazar-bit/automated-warspotting-scraper
GitHub: lazar-bit/automated-warspotting-scraper
基于 Python 的自动化数据采集工具,定期从 WarSpotting API 获取地理定位的装备损失数据并输出为 CSV 文件,支持全量和增量扫描模式。
Stars: 1 | Forks: 0
# 🛰️ automated-warspotting-scraper
这款基于 Python 的自动化工具定期从 [WarSpotting](https://warspotting.net) 公共 API 获取并更新地理定位的俄罗斯装备损失数据。它专为对开源情报 (OSINT)、冲突监控和机器学习感兴趣的研究人员、分析师和开发人员设计。
该爬虫支持:
* ✅ **全量历史扫描**(每周日)
* ✅ **增量 30 天扫描**(每周一、周二、周三、周四、周五、周六)
* ✅ 通过 GitHub Actions **计划自动化**
* ✅ **输出**为单个 `CSV` 文件 (`warspotting_losses.csv`),适合可视化和进一步分析
* ✅ **自动将更新的数据集上传至 [Kaggle](https://www.kaggle.com/datasets/zsoltlazar/automated-warspotting-equipment-losses)**,便于访问和共享
## 📦 仓库结构
```
automated-warspotting-scraper/
├── .github/
│ └── workflows/
│ └── scraper.yml # GitHub Actions workflow (runs automatically)
├── automated_warspotting_scraper.py # Main scraping script
├── warspotting_losses.csv # Output data file (auto-updated)
└── README.md
```
## ⚙️ 工作原理
* GitHub Action (`scraper.yml`) 在 **1:00 AM UTC** 触发:
* 🗓️ **周日:** 扫描所有可用的 WarSpotting 数据
* 🗓️ **周一、周三、周五:** 进行 30 天滚动扫描以获取最近更新
* 结果写入 `warspotting_losses.csv`
* 如果有任何更改,文件将自动提交回仓库
* 更新后的 CSV 数据集随后通过 Kaggle API 上传到 [Kaggle](https://www.kaggle.com/datasets/zsoltlazar/automated-warspotting-equipment-losses),保持公共数据集的最新性和可访问性
## 🛠️ 环境要求
* Python 3.11+
* 库:
* `pandas`
* `requests`
* `kaggle` *(用于上传数据集到 Kaggle)*
安装依赖:
```
pip install -r requirements.txt
```
(或者根据您的偏好手动安装)
## 📊 使用场景
* 战场趋势的 OSINT 分析
* 用于预测模型的 ML 训练数据
* 冲突监控仪表板
* 可视化地理空间损失分布
* 通过 [Kaggle 数据集](https://www.kaggle.com/datasets/zsoltlazar/automated-warspotting-equipment-losses) 轻松访问数据
## 🧠 致谢与免责声明
* 数据由 [WarSpotting.net](https://warspotting.net) 提供
* 本项目仅用于**教育和分析**目的
标签:Apex, CSV, ESC4, ETL, GitHub Actions, JavaCC, Kaggle, OSINT, Python, WarSpotting, 代码示例, 军事分析, 冲突监测, 命令控制, 地理定位数据, 地缘政治, 定时任务, 数据分析, 数据采集, 无后门, 机器学习, 网络调试, 自动化, 自动笔记, 装备损失, 逆向工具