- 测试环境:Ubuntu 18.04
- python版本:python 3.6.9
- 特别提醒:由于涉及到netid等敏感信息,工具只能在自己的环境中使用,切勿假手于人。
- 免责声明:本工具仅供学习和交流,禁止用于任何商业用途和任何诸如ddos攻击等违法行为。本工具今后造成的纠纷和一切后果,均由工具使用者承担,与本作者无关。
- 定时自动申报。
- 采用非阻塞申报方式,最大申报时间为60s,超时后自动重新申报。
- 申报过程出现
exception
并不会导致程序崩溃,而是重新申报。 - 重新申报最大次数为3次。
更新下载源。
sudo apt update
下载源码。
sudo apt install git -y
git clone https://github.com/NelsonCheung688585/SYSU_jksb.git jksb
进入jksb
文件夹。
cd jksb
下载pip3
。
sudo apt install python3-pip -y
更新pip3
,否则后面安装opencv
时会卡住。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安装opencv
。
sudo apt install cmake libopencv-dev -y
pip3 install scikit-build opencv-python
安装muggle_ocr
,muggle_ocr
用作验证码识别。
tar -xvf muggle-ocr-1.0.3.tar.gz
cd muggle-ocr-1.0.3
python3 setup.py install
安装selenium
,selenium
用来访问健康申报的网站。
pip3 install selenium
安装firefox
。
sudo apt install firefox
下载firefox
驱动,selenium
将使用其来访问网站。
wget https://github.com/mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz
tar -xvf geckodriver-v0.30.0-linux64.tar.gz
在源码文件夹下,首先将geckodriver
加入到环境变量。
export PATH=.:$PATH
这一步是必须的,否则会报如下错误。
Message: 'geckodriver' executable needs to be in PATH.
启动,在命令行参数下加入netid
,passwd
,hour
,minute
,示例如下。
python3 sysu.py --netid=NelsonCheung --passwd=ilovesysu --hour=07 --minute=00
--netid
表示netid。--passwd
表示密码。--hour
和--minute
表示每天提交申报的时间,上面的例子是07:00
提交申报。
将NelsonCheung
和ilovesysu
换成你的账号密码即可。
注意,密码中若含有特殊字符需要加上\
。例如,
--passwd=ilovesysu!!!
应该输入
--passwd=ilovesysu\!\!\!
后面就可以看到如下信息。
其中,SN
是申报成功的流水号。
为了实现定时申报,需要将该工具放到一台不会关机的电脑上,例如云服务器。然后在后台启动并持续运行,启动命令示例如下。
nohup python3 -u sysu.py --netid=NelsonCheung --passwd=ilovesysu --hour=07 --minute=00 > log.out &
每次只需查看log.out
即可看到程序输出。
tail -f log.out
可以退出后重新登录,通过如下命令检查工具是否存在。
ps aux | grep sysu.py
可以启动多个工具,每个工具设置不同的时间。
如果不加时间,工具的默认时间是08:00
。
在reference_guide.md中可以找到工具的实现方法。
使用kill
命令kill掉进程后会导致后台的firefox
进程无法退出,从而导致资源泄露。此时需要手动kill
掉未正常退出的firefox
进程。