luogu-cli/README.md
2025-05-01 14:47:52 +08:00

99 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🧰 luogu-cli 洛谷命令行工具
一个用 Python 编写的命令行工具,用于从 [洛谷Luogu](https://www.luogu.com.cn) 下载题目描述、样例输入输出、题解等内容,方便本地学习与练习。
---
## 📦 功能特性
-`lgcli parse PID`:下载指定题目的题面、样例和题解
-`lgcli view PID`:在终端中查看题目描述(支持 Markdown 渲染)
-`lgcli solution PID`:列出所有题解或查看某一篇详细内容
- ✅ 使用 `rich` 渲染终端 Markdown支持彩色样式
- ✅ 支持打包为单文件 `.exe`(通过 PyInstaller
---
## 🧩 依赖库
确保你已安装以下 Python 包:
```bash
pip install rich requests beautifulsoup4 python-dotenv
```
---
## ⚙️ 配置 Cookie
你需要先登录洛谷官网,并获取以下 Cookie 值填入 `.env` 文件中:
```env
CLIENT_ID=你的client_id
UID=你的uid
CF_CLEARANCE=你的cf_clearance
C3VK=你的c3vk
```
> 注意这些值可以在浏览器开发者工具的“Application > Cookies”中找到。
---
## 🚀 使用方式
### 1. 下载题目信息
```bash
python main.py parse P1145
```
这会创建一个以题目编号命名的目录(如 `P1145/`),包含:
- `P1145.md`:题面描述
- `samples/`:样例输入输出
- `solutions/`:题解 Markdown 文件
---
### 2. 查看题目描述
```bash
python main.py view P1145
```
使用 `rich` 在终端中渲染 Markdown 格式的题目内容。
---
### 3. 查看题解列表或具体内容
```bash
python main.py solution P1145
```
列出所有题解标题:
```
可用题解:
1. 题解1_xxxxx
2. 题解2_yyyyyy
```
查看具体题解内容:
```bash
python main.py solution P1145 --id 题解1_xxxxx
```
---
## 🚗 下一步发展
- 📝 提交代码
- 🚩参加比赛
- ...
---
## 📜 许可证
本项目采用 LGPL License。