Open KingOfDeBug opened 2 years ago
是不是新版的验证码是gif 貌似不能成功识别 出现了AssertionError: JPEG
似乎无法到达指定选课页面? [ERROR] loop.error, 10:34:25, [103] unable to get normal Supplement page 4
同学您好, 我对您的repo进行了认真测试,发现在作如下修改后可以正常刷课
顺祝学祺
测试api没有问题 但是出现了[ERROR] loop.error, 11:40:30, [104] unable to parse HTML content
测试api没有问题 但是出现了[ERROR] loop.error, 11:40:30, [104] unable to parse HTML content
您可以按照Totoro-Li的方法对照PKUAutoElective进行修改,这是html parsing的错误。我上传了修改后的repo,可以正常使用,但存在Totoro-Li指出的识别率低的问题。
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
求问现在这个刷课机还能继续使用吗
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用
谢谢!
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用
小白想请问一下api密钥怎么处理呢
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用 https://github.com/Somoku/PKUElective2022Spring
小白想请问一下api密钥怎么处理呢
这里指的应该是apikey.json,按照原repo README前往http://www.ttshitu.com/ 注册,充值1rmb买500次,然后填写用户名密码即可
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用 https://github.com/Somoku/PKUElective2022Spring
小白想请问一下api密钥怎么处理呢
这里指的应该是apikey.json,按照原repo README前往http://www.ttshitu.com/ 注册,充值1rmb买500次,然后填写用户名密码即可
在网站里怎么操作呢www,不知道怎么导入apikey.json
请首先将 apikey.sample.ini 复制一份并改名为 apikey.ini,并按照以下说明进行配置。 这句话是不是错误了 应该是‘请首先将 apikey.sample.json 复制一份并改名为 apikey.json,并按照以下说明进行配置。’
请首先将 apikey.sample.ini 复制一份并改名为 apikey.ini,并按照以下说明进行配置。 这句话是不是错误了 应该是‘请首先将 apikey.sample.json 复制一份并改名为 apikey.json,并按照以下说明进行配置。’
已修改,感谢指正!
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用 https://github.com/Somoku/PKUElective2022Spring
小白想请问一下api密钥怎么处理呢
这里指的应该是apikey.json,按照原repo README前往http://www.ttshitu.com/ 注册,充值1rmb买500次,然后填写用户名密码即可
在网站里怎么操作呢www,不知道怎么导入apikey.json
在网站内只需要注册账号并充值。之后将本地的apikey.sample.json复制一份,改名为apikey.json后参考README对其内容进行修改即可。
还是不懂。。。 怎样修改呢我根本打不开这个文件
还是不懂。。。 怎样修改呢我根本打不开这个文件
用记事本或者其它IDE打开即可
还是不懂。。。 怎样修改呢我根本打不开这个文件
用记事本或者其它IDE打开即可
感谢!!
还是不懂。。。 怎样修改呢我根本打不开这个文件
用记事本或者其它IDE打开即可
可以再问一个问题吗,复制的文件时而和原文件放在当前文件夹里吗
还是不懂。。。 怎样修改呢我根本打不开这个文件
用记事本或者其它IDE打开即可
可以再问一个问题吗,复制的文件时而和原文件放在当前文件夹里吗
json那个文件是的 如果是多线程创建多个config.ini文件的话是要新建一个config文件夹 详情请见zhongxinghong的PKUAutoElective
还是不懂。。。 怎样修改呢我根本打不开这个文件
用记事本或者其它IDE打开即可
可以再问一个问题吗,复制的文件时而和原文件放在当前文件夹里吗
json那个文件是的 如果是多线程创建多个config.ini文件的话是要新建一个config文件夹 详情请见zhongxinghong的PKUAutoElective
可是最后运行的时候python还是闪退怎么办呀www
测试识图平台的一大坨命令行 第一个单词python是不是应该改成python3?还是说这个根据不同的python配置环境因人而异?
具体什么情况能截图或者仔细描述一下不 我亲测选了一门课 应该没有什么问题的
具体什么情况能截图或者仔细描述一下不 我亲测选了一门课 应该没有什么问题的 我按照readme配置了,然后就是闪退了。。
具体什么情况能截图或者仔细描述一下不 我亲测选了一门课 应该没有什么问题的
图鉴上充了1r
具体什么情况能截图或者仔细描述一下不 我亲测选了一门课 应该没有什么问题的 我按照readme配置了,然后就是闪退了。。
换一个shell试试?我用的bash
具体什么情况能截图或者仔细描述一下不 我亲测选了一门课 应该没有什么问题的 我按照readme配置了,然后就是闪退了。。
换一个shell试试?我用的bash 感觉还是配置出问题了。。但是不知道出在哪里
不弄了 感觉根本就不行
请问出现 xx课程 is not in your course plan是什么原因呢,试了一下在补退选界面第一页的是可以选的,但是后面的就会报这个错
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用
请问出现报错: [INFO] loop, 00:21:38, Try to login IAAA (client: 1) [INFO] loop, 00:21:38, User-Agent: Mozilla/5.0 (iPad; CPU OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89 [ERROR] loop.error, 00:21:39, HTTPSConnectionPool(host='iaaa.pku.edu.cn', port=443): Max retries exceeded with url: /iaaa/oauth.jsp?appID=syllabus&appName=%E5%AD%A6%E7%94%9F%E9%80%89%E8%AF%BE%E7%B3%BB%E7%BB%9F&redirectUrl=http%3A%2F%2Felective.pku.edu.cn%3A80%2Felective2008%2FssoLogin.do (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1124)'))) [WARNING] loop, 00:21:39, RequestException encountered 能够怎么解决呢?
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用 https://github.com/Somoku/PKUElective2022Spring
请问出现报错: [INFO] loop, 00:21:38, Try to login IAAA (client: 1) [INFO] loop, 00:21:38, User-Agent: Mozilla/5.0 (iPad; CPU OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89 [ERROR] loop.error, 00:21:39, HTTPSConnectionPool(host='iaaa.pku.edu.cn', port=443): Max retries exceeded with url: /iaaa/oauth.jsp?appID=syllabus&appName=%E5%AD%A6%E7%94%9F%E9%80%89%E8%AF%BE%E7%B3%BB%E7%BB%9F&redirectUrl=http%3A%2F%2Felective.pku.edu.cn%3A80%2Felective2008%2FssoLogin.do (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1124)'))) [WARNING] loop, 00:21:39, RequestException encountered 能够怎么解决呢?
我也遇到过同样的问题 具体原因不清楚 不过终止再重新输入命令行重新开始就又能正常跑了
是不是间隔太短 导致request太频繁?
请问是需要将config中的refresh_interval 调大吗
请问是需要将config中的refresh_interval 调大吗
可以试试
请问报错ValueError: check_hostname requires server_hostname应该怎么处理呢orz
请问报错ValueError: check_hostname requires server_hostname应该怎么处理呢orz
把vpn关了
解决了 非常感谢!
Exception in thread Elective: Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/mnt/e/PKUElective2022Spring-main/autoelective/loop.py", line 722, in run_elective_loop raise e File "/mnt/e/PKUElective2022Spring-main/autoelective/loop.py", line 561, in run_elective_loop raise RecognizerError( autoelective.exceptions.RecognizerError: [310] Recognizer: max attempts 15 reached 请问这个是什么错误 为什么每隔一段时间(不固定)都会出现一次
Exception in thread Elective: Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/mnt/e/PKUElective2022Spring-main/autoelective/loop.py", line 722, in run_elective_loop raise e File "/mnt/e/PKUElective2022Spring-main/autoelective/loop.py", line 561, in run_elective_loop raise RecognizerError( autoelective.exceptions.RecognizerError: [310] Recognizer: max attempts 15 reached 请问这个是什么错误 为什么每隔一段时间(不固定)都会出现一次
就是这个识验证码的api的准确率太低了,如果连续15次都识别不对就会异常退出,你可以把代码里的15改大一些
Exception in thread Elective: Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/mnt/e/PKUElective2022Spring-main/autoelective/loop.py", line 722, in run_elective_loop raise e File "/mnt/e/PKUElective2022Spring-main/autoelective/loop.py", line 561, in run_elective_loop raise RecognizerError( autoelective.exceptions.RecognizerError: [310] Recognizer: max attempts 15 reached 请问这个是什么错误 为什么每隔一段时间(不固定)都会出现一次
就是这个识验证码的api的准确率太低了,如果连续15次都识别不对就会异常退出,你可以把代码里的15改大一些
意思是说 我刷到有名额的课了 但是填了15词验证码都没对?????
[ERROR] loop.error, 17:09:13, 'NoneType' object has no attribute 'tobytes' Traceback (most recent call last): File "D:\code\2022spring\autoelective\loop.py", line 527, in run_elective_loop captcha.save(CAPTCHA_CACHE_DIR) File "D:\code\2022spring\autoelective\captcha\captcha.py", line 47, in save md5 = xMD5(oim.tobytes()) AttributeError: 'NoneType' object has no attribute 'tobytes' 请问出现这种状况是什么原因啊,已经尝试获取验证码了,但是没能成功选上
[ERROR] loop.error, 17:09:13, 'NoneType' object has no attribute 'tobytes' Traceback (most recent call last): File "D:\code\2022spring\autoelective\loop.py", line 527, in run_elective_loop captcha.save(CAPTCHA_CACHE_DIR) File "D:\code\2022spring\autoelective\captcha\captcha.py", line 47, in save md5 = xMD5(oim.tobytes()) AttributeError: 'NoneType' object has no attribute 'tobytes' 请问出现这种状况是什么原因啊,已经尝试获取验证码了,但是没能成功选上
同学您好,我也注意到了这种情况。验证码错误时,少数情况下重试会出现NoneType' object has no attribute 'tobytes'报错,且exceptions中并未提供处理机制。考虑到Captcha类成员函数save()对主要功能并无影响,故可以尝试删除loop.py中line 527以避免程序异常停止。我也在我fork的repo中作了如上修改~
[ERROR] loop.error, 17:09:13, 'NoneType' object has no attribute 'tobytes' Traceback (most recent call last): File "D:\code\2022spring\autoelective\loop.py", line 527, in run_elective_loop captcha.save(CAPTCHA_CACHE_DIR) File "D:\code\2022spring\autoelective\captcha\captcha.py", line 47, in save md5 = xMD5(oim.tobytes()) AttributeError: 'NoneType' object has no attribute 'tobytes' 请问出现这种状况是什么原因啊,已经尝试获取验证码了,但是没能成功选上
同学您好,我也注意到了这种情况。验证码错误时,少数情况下重试会出现NoneType' object has no attribute 'tobytes'报错,且exceptions中并未提供处理机制。考虑到Captcha类成员函数save()对主要功能并无影响,故可以尝试删除loop.py中line 527以避免程序异常停止。
我试一下,谢谢!
指出一点,按照现在的补退选逻辑,并不需要在出现名额后才输入验证码;事先输好验证码,然后在有名额时提交也是一种被认定为合法的情况。 在这种流程下,验证码是一个无效的验证方式——程序完全可以在启动时让用户人工通过验证,然后一直持续工作。这样基本不需要接入任何识图API或者使用识别模型也可以实现自动刷新。
目前这场爬虫大战的攻(刷课机开发者)防(选课系统维护者)双方似乎都一直在验证码层面开展军备竞赛,就挺有趣的。 HEED-GUI 是一个演示这种上述流程可能性的 proof of concept。这个项目本身不追求 PKUAutoElective 这么强大的功能(与此相对也更加 “开箱即用”,这是题外话),但思路肯定都是相通的。希望能给各位提供一些灵感。
(叠个甲:我发布上述内容的意图是让验证码的军备竞赛不要继续卷下去,让补退选机制本身的不合理性得到关注。我不希望事情发展方向超出了这个目的。我之前也提过一些想法:希望学生24小时不停刷新是一个不切实际的流程,这种机制下“老实人”是非常吃亏的;如果学校一定要在补退选阶段通过时效性来衡量学生的选课意愿,可以考虑每5分钟或者30分钟抽一次签,这样至少能够让机器相对于听闻扩名额后火速登录选课网的人失去优势,同时也能筛选掉一些不太关心这门课的人。虽然在之前选课网“座谈”的时候我托朋友转述过,但目前看来并没有人真打算解决这个elephant in the room)
断开重新连接wifi后程序会暂停 必须ctrl+c ctrl+p enter之后才能继续运行 有遇到类似情况的人吗
[INFO] loop, 04:59:08, Course(课程,100 / 0) is AVAILABLE now ! [INFO] loop, 04:59:08, Try to elect Course [INFO] loop, 04:59:08, Fetch a captcha [INFO] loop, 04:59:17, Recognition result: ps7e [INFO] loop, 04:59:17, Validation failed [ERROR] loop.error, 04:59:17, 'NoneType' object has no attribute 'tobytes' Traceback (most recent call last): File "D:\软件\PKUElective2022Spring-main\autoelective\loop.py", line 527, in run_elective_loop captcha.save(CAPTCHA_CACHE_DIR) File "D:\软件\PKUElective2022Spring-main\autoelective\captcha\captcha.py", line 47, in save md5 = xMD5(oim.tobytes()) AttributeError: 'NoneType' object has no attribute 'tobytes' 想请问 为什么会出现已选人数为0然后就终止的问题呢
[INFO] loop, 04:59:08, Course(课程,100 / 0) is AVAILABLE now ! [INFO] loop, 04:59:08, Try to elect Course [INFO] loop, 04:59:08, Fetch a captcha [INFO] loop, 04:59:17, Recognition result: ps7e [INFO] loop, 04:59:17, Validation failed [ERROR] loop.error, 04:59:17, 'NoneType' object has no attribute 'tobytes' Traceback (most recent call last): File "D:\软件\PKUElective2022Spring-main\autoelective\loop.py", line 527, in run_elective_loop captcha.save(CAPTCHA_CACHE_DIR) File "D:\软件\PKUElective2022Spring-main\autoelective\captcha\captcha.py", line 47, in save md5 = xMD5(oim.tobytes()) AttributeError: 'NoneType' object has no attribute 'tobytes' 想请问 为什么会出现已选人数为0然后就终止的问题呢
你的报错和我上面提到的一样,可以看一下
抱歉...‘captcha文件夹和exceptions替换至zhongxinghong的PKUAutoElective,并对照修改loop.py,这样可以正常运行。’ 没太懂是什么意思 是把这些文件夹和文件全都替换成原来的zhongxinghong的相应同名文件和文件夹吗?
看楼上这个同学的库就行,实测可以正常使用 https://github.com/Somoku/PKUElective2022Spring
谢谢!
感觉可以,谢谢!
如果有同学因各种原因无法及时查看刷课机运行状态,希望得到实时微信消息推送,比如选课成功提醒之类的,也许可以试一下我修改后的刷课机,其中同时移除了原repo一处可能导致程序崩溃的bug。
请问 ModuleNotFoundError: No module named 'requests' 如何解决呢
Check List
Version / Environment
System infomation: [ ] ( Windows10 64bit, MacOS 10.13.6, Ubuntu 18.04.3 amd64, ... ) Python version: [ ] ( run
python3 --version
) AutoElective version: [ ] ( runpython3 main.py --version
)Config
除了学号/密码外的其他配置
Issue Description
What
遇到的问题
Console Log
必要的终端输出信息
Reproduce
如有必要,提供复现的步骤