quangntenemy/wechall-ranking
GitHub: quangntenemy/wechall-ranking
自动抓取并归档 WeChall 全球排名的每日快照,将 HTML 解析为 JSON 并通过 GitHub Pages 提供历史数据可视化。
Stars: 1 | Forks: 0
# WeChall 排名
自动收集 WeChall 全球排名的每日快照,保留历史数据,并发布一个由 GitHub Pages 提供支持的交互式网站。
## 当前状态
该项目目前包括:
- `data/history/` 下的本地存档工作流
- 位于 `scripts/fetch.py` 的抓取脚本,用于从 抓取排名
- 位于 `scripts/parse.py` 的解析器脚本,用于读取已存档的 HTML 排名页面并写入 JSON
- 位于 `tests/test_parse.py` 的轻量级回归测试
## 项目结构
```
wechall-ranking/
├── data/
│ └── history/
│ ├── 2026-07-09.html
│ └── 2026-07-09.json
├── scripts/
│ ├── fetch.py
│ └── parse.py
├── tests/
│ └── test_parse.py
├── requirements.txt
└── README.md
```
## 设置
1. 创建并激活 Python 虚拟环境:
python -m venv venv
# 在 Windows 上:
venv\Scripts\activate
# 在 macOS/Linux 上:
source venv/bin/activate
2. 安装依赖项:
pip install -r requirements.txt
## 用法
从 WeChall 抓取最新排名数据:
```
python scripts/fetch.py
```
解析最新存档的 HTML 文件:
```
python scripts/parse.py
```
解析特定存档日期:
```
python scripts/parse.py 2026-07-09
```
运行回归测试:
```
python -m unittest discover -s tests -p "test_parse.py"
```
## 功能
- WeChall 排名的每日快照收集
- 历史数据保留(以原始 html 和 json 格式存储在 `data/history/` 中)
## 后续步骤
1. 根据生成的 JSON 创建静态网站或 dashboard
2. 配置 GitHub Pages 部署

标签:GitHub Pages, Python, URL抓取, 代码示例, 数据分析, 数据抓取, 无后门, 逆向工具