Login to *.ruc.edu.cn, get cookies.
Project description
ruclogin
ruclogin is a package for obtaining and checking v.ruc.edu.cn (and jw.ruc.edu.cn) cookies using selenium (headless) and requests.
ruclogin 可以帮助你快速地获取和检查 v.ruc.edu.cn (and jw.ruc.edu.cn) 的 cookies,使用 selenium 和 requests。可能的用途包括抢课等。
Simple Example
import ruclogin
ruclogin.update_username_and_password("2021201212", "ABC12345")
cookies = ruclogin.get_cookies(domain="v.ruc.edu.cn") # you can also use domain="jw.ruc.edu.cn"
cookies
# {'tiup_uid': '6112329b90f4d162e19b83c9', 'session': '7a0b09dc5f5c4587aae0511247ae276d.834554d714de4c19b6ca1ec111ab3514', 'access_token': '1Jf8zOE7S5SYHYS3x5nNHA', 'is_simple': '1'}
Get Started
0. Install ruclogin
Now you can simply install ruclogin using pip.
pip install ruclogin
You can also install ruclogin from source code.
你也可以从源码安装最新版。
git clone https://github.com/panjd123/ruclogin.git
cd ruclogin
pip install .
1. Install Chrome, Edge or Chromium
2. Set your username, password and preferred browser in terminal
ruclogin --username 2021201212 --password ABC12345 --browser Chrome
or just
ruclogin
and then type your username, password and preferred browser in terminal.
(base) PS D:\Code\ruclogin> ruclogin
username, type enter to skip:
password, type enter to skip:
driver_path, type enter to skip:
Config D:\Program\anaconda3\Lib\site-packages\ruclogin\config.ini updated:
Username: 2021201212
Password: ABC12345
Browser: Chrome
driver_path: D:/Other/driver/chromedriver.exe
Test login? (Y/n):
你好, 信息学院 xxx from v.ruc.edu.cn
你这学期的课有:并行与分布式计算 计算机系统实现Ⅰ 后人类时代的全球影像 机器学习与计算智能Ⅰ 数据库系统概论荣誉课程 迁移学习 科学技术哲学 from jw.ruc.edu.cn
Q: 我在这一步遇到报错
Could not reach host. Are you offline?
A: 你可以尝试开启网络代理,或者手动包管理,即将浏览器的驱动手动下载到你的主机上,然后重新更新配置
ruclogin --driver D:/Other/driver/chromedriver.exe
3. Get your cookies
from ruclogin import *
# you can also update your username and password like this:
update_username_and_password("2021201212", "ABC12345") # save in disk
print(get_username_and_password()) # ("2021201212", "ABC12345")
cookies = get_cookies(cache=False, domain="v") # regain cookies, login in using selenium, save in disk
print(cookies) # {'tiup_uid': '6112329b90f4d162e19b83c9', 'session': '7a0b09dc5f5c4587aae0511247ae276d.834554d714de4c19b6ca1ec111ab3514', 'access_token': '1Jf8zOE7S5SYHYS3x5nNHA', 'is_simple': '1'}
success = check_cookies(cookies, domain="v") # check cookies using requests
if success:
print(success) # 你好, xx学院 xxx from v.ruc.edu.cn
cookies = get_cookies() # cache=True, it will use the cookies obtained last time, check it first, if it fails, regain it
You only need to update your username and password once, and then you can get cookies at any time.
无论用什么方式设置用户名和密码,你只需要设置一次。
Update
0.2 Update
You can get jw.ruc.edu.cn cookies now.
from ruclogin import *
cookies = get_cookies(domain="jw") # or get_cookies(domain="jw.ruc.edu.cn")
check_cookies(cookies, domain="jw")
0.2.1 Update
提高 check_cookies 的鲁棒性。
0.2.3 Update
修改了 check_cookies 的输出,现在会输出所用测试请求的结果例如:“你这学期的课有:并行与分布式计算 计算机系统实现Ⅰ 后人类时代的全球影像 机器学习与计算智能Ⅰ 数据库系统概论荣誉课程 迁移学习 科学技术哲学”,似乎更有趣一点。
0.2.5 Update
支持了手动管理浏览器驱动
删去了 ruclogin test 时请求用户输入前的额外换行。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.