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 部署 ![每日更新](https://static.pigsec.cn/wp-content/uploads/repos/cas/33/333976f327b1c7e92982ccd78e494207b2c59dda3e86ae6d81ef71637489dffd.svg)
标签:GitHub Pages, Python, URL抓取, 代码示例, 数据分析, 数据抓取, 无后门, 逆向工具