From a4ca62fe03d06e9ae127136bb16c75bb920532f1 Mon Sep 17 00:00:00 2001 From: Anyexyz Date: Mon, 18 Dec 2023 12:55:24 +0000 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E7=89=88=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=A4=9A=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Beijng_Daxuexi.py | 17 ++++++++++++++--- README.md | 35 +++++++++++++++++++++++++++++++++++ account.csv.example | 3 +++ 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 account.csv.example diff --git a/.gitignore b/.gitignore index 5d381cc..1153636 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST +account.csv # PyInstaller # Usually these files are written by a python script from a template diff --git a/Beijng_Daxuexi.py b/Beijng_Daxuexi.py index 9469a4c..6cbe92b 100644 --- a/Beijng_Daxuexi.py +++ b/Beijng_Daxuexi.py @@ -2,6 +2,7 @@ import json import re import time import requests +import csv from utility import encrypt, cap_recognize def study(username,password): # 返回1:成功 @@ -62,10 +63,9 @@ def study(username,password): study_url = f"https://m.bjyouth.net/dxx/check" r = bjySession.post(study_url, json={"id": str(courseId), "org_id": int(nOrgID)}) # payload if r.text: - print(f'开始学习{title}') + print(f'Unexpected response: {r.text}') return 0 - haveLearned = bjySession.get(learnedInfo).json() if f"学习课程:《{title}》" in list(map(lambda x: x['text'], haveLearned['data'])): print(f'{title} 成功完成学习') @@ -75,4 +75,15 @@ def study(username,password): return 0 if __name__ == '__main__': - study('16634486740','Anye20031003') \ No newline at end of file + # 读取account.csv配置文件,格式为:用户名,密码 + success = 0 + count = 0 + with open('account.csv', 'r', encoding='utf-8') as f: + reader = csv.reader(f) + for row in reader: + count += 1 + print(f'用户{count}: {row[0]}') + if study(row[0], row[1]): + success += 1 + print(f'共{count}个用户,成功{success}个,失败{count-success}个') + \ No newline at end of file diff --git a/README.md b/README.md index 6e9de1f..8e69eef 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,37 @@ # 北京青年大学习 +> 注意:本项目仅供学习交流使用,请勿用于商业用途,否则后果自负。 + +## 简介 +本项目是北京青年大学习的速刷程序,可以迅速完成学习任务。 + +## 使用方法 + +1. 安装Python3,建议使用Python3.7-3.10版本,下载地址:[Python3.10](https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe),版本过高可能会出现兼容性问题。 +2. 安装依赖库,打开命令行,输入以下命令: +``` +pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple +``` +3. 配置账户信息,打开`account.csv.example`文件,按照格式填写账户信息,保存为`account.csv`。 +4. 运行程序,打开命令行,输入以下命令: +``` +python Beijng_Daxuexi.py +``` +5. 程序会自动完成学习任务,完成后会自动退出。 + +## 注意事项 +1. 程序会自动识别当前学习任务是否完成,如果学习任务完成,程序会自动跳过学习任务。 +2. 本程序只会完成最新的学习任务,不会完成题目,也不会完成旧的学习任务。 + +# 目录结构 +- `account.csv`:账户信息文件(示例),用于配置账户信息。 +- `Beijng_Daxuexi.py`:主程序文件,用于完成学习任务。 +- `requirements.txt`:依赖库文件,用于安装依赖库。 +- `README.md`:说明文件。 +- `LICENSE`:许可证文件。 +- `utility.py`:工具文件,用于提供工具函数。 + +## 致谢 +本项目参考了以下项目: +- [startkkkkkk/Beijing_Daxuexi_Simple](https://github.com/startkkkkkk/Beijing_Daxuexi_Simple) +- [sml2h3/ddddocr](https://github.com/sml2h3/ddddocr) \ No newline at end of file diff --git a/account.csv.example b/account.csv.example new file mode 100644 index 0000000..241896a --- /dev/null +++ b/account.csv.example @@ -0,0 +1,3 @@ +username1,password1 +username2,password2 +username3,password3 \ No newline at end of file