A small group management tool for Chinese vocabulary software which called Bai Ci Zhan, depends on Flask.
背个单词卷就算了,没想到连小班都这么卷了吗?!(#°Д°)
百词斩小班数据管理器,这个工具可以方便的为各大百词斩班长管理小班提供便捷的操作,可以自动化的查询小班列表和打卡数据,通过直接对官方API进行爬取,并展示数据,极大地为各大王者小班长省心
- 使用友好的前端页面进行展示以及提供供数据下载,以假乱真(不是
- 直观的添加和删除关注的小班功能,并以小班为单位展示成员打卡数据
- 清晰明了地展示小班成员的背单词数量、缺卡、晚卡、漏卡情况
- 实时获取指关注小班的信息和其成员的打卡信息
- 使用
Crontab
语法定时获取打卡信息,并有历史数据修正
- 首先确保你安装了 Python3.11、git
- 本项目使用了 pipenv 依靠虚拟环境进行依赖项管理,请使用 pip install pipenv 安装模块之后启动
- 本项目没有安全验证系统,请自行增加鉴权模块
‼️ 注意,直接暴露在公网上是极其危险的行为‼️ - 启动步骤
- 执行
git clone https://github.com/shadlc/BCZ-Group-Manager.git
- 执行
cd BCZ-Group-Manager/
- 执行
pipenv install
- 执行
pipenv run python ./app.py
- 启动程序后,会生成一个json格式的配置文件并退出
- 对百词斩APP进行抓包获取你的
access_token
,将其access_token
填入配置文件的main_token
- 再次启动程序,将会启动本地监听(默认
8840
端口),打开浏览器http://127.0.0.1:8840
访问并使用
- 执行
host
监听地址,默认只允许本地访问,即127.0.0.1
port
监听端口,默认为8840
database_path
数据库路径,默认为./data.db
main_token
必填,是本程序用以获取小班数据的主要使用授权令牌,不要加入任何需要获取数据的小班output_file
是程序输出Excel文件的指定目录和默认文件名,默认为小班数据.xlsx
daily_record
以Crontab
语法自动记录每天数据,默认为晚上23点59分,即59 23 * * *
daily_verify
晚于自动记录时间后的打卡数据会遗失,因此以Crontab
语法自动校验本周与上周打卡记录,补上遗失的打卡数据,默认为凌晨4点整,即00 04 * * *
cache_second
数据查询功能实时数据的查询间隔,设置缓存时间防止过于频繁的实时查询,默认为600秒
部分较为实用百词斩官方接口在这里整理一下
GET https://social.baicizhan.com/api/deskmate/home_page
GET https://passport.baicizhan.com/api/unified_user_service/personal_infos
GET https://social.baicizhan.com/api/deskmate/personal_details?uniqueId=XXXXXX
GET https://group.baicizhan.com/group/own_groups?uniqueId=XXXXXX
GET https://group.baicizhan.com/group/get_group_authorization_page?uniqueId=XXXXXX
GET https://group.baicizhan.com/group/get_group_rank
GET https://group.baicizhan.com/group/information?shareKey=XXXXXX
GET https://group.baicizhan.com/group/get_week_rank?shareKey=XXXXXX&week=1
GET https://group.baicizhan.com/group/get_week_rank?shareKey=XXXXXX&week=2
GET https://group.baicizhan.com/group/notice?shareKey=XXXXXX
POST https://group.baicizhan.com/group/remove_members
{
"shareKey":"XXXXXX",
"memberIds":[
XXXXXX
]
}
POST https://group.baicizhan.com/group/join
{
"shareKey":"XXXXXX",
"source":"3"
}
{
"inviteKey":"XXXXXX",
"source":"0"
}
GET https://group.baicizhan.com/group/quit?shareKey=XXXXXX
POST https://group.baicizhan.com/group/create
{
"avatar":"/group/avatar/default0.png",
"name":"",
"introduction":""
}
GET https://group.baicizhan.com/group/set_only_public_key_join?shareKey=XXXXXX
POST https://group.baicizhan.com/group/set_group_name
{
"shareKey":"XXXXXX",
"name":""
}
POST https://group.baicizhan.com/group/set_group_introduction
{
"shareKey":"XXXXXX",
"introduction":""
}
POST https://group.baicizhan.com/group/set_notice
{
"shareKey":"XXXXXX",
"notice":""
}
POST https://group.baicizhan.com/group/set_nickname
{
"shareKey":"XXXXXX",
"nickname":""
}
POST https://group.baicizhan.com/group/set_group_qr_code?shareKey=XXXXXX&action=1
图片二进制内容
GET https://group.baicizhan.com/group/invite_key?shareKey=XXXXXX
GET https://group.baicizhan.com/group/get_group_leader_rank
GET https://social.baicizhan.com/api/social/get_friend_state?uniqueId=XXXXXX
GET https://learn.baicizhan.com/api/mall/proxy/creditmall/get_credit_vo
GET https://learn.baicizhan.com/api/mall/proxy/creditmall/get_credit_records
感谢您选择使用本小班数据管理器。在使用本程序之前, 请您仔细阅读并理解以下免责声明内容:
- 本程序基于GPLv3开源,仅供个人学习、研究和其他非商业性质的合法用途, 任何因违反相关法律法规或侵犯他人权益所导致的法律责任, 由用户自行承担。
- 用户在使用本程序时, 应遵守所在国家或地区的法律法规, 并对使用该程序产生的一切后果负全部责任。
- 本程序对于用户使用过程中可能产生的各种风险(包括但不限于被数据来源公司的封禁、用户自身合规问题等)不承担任何责任。
- 用户违反本声明或者滥用本程序进行非法活动的, 数据来源公司将有权追究您的法律责任。
- 本程序作者对用户使用本程序产生的一切纠纷、损失或伤害不承担任何责任。
- 一旦用户开始使用本程序, 则视为用户已充分理解并同意本免责声明的全部内容, 如果您无法接受上述条款, 请立即停止使用本程序。