Closed C315703603 closed 1 year ago
应该是可以的呢,就是修改后程序需要重新启动,并不是热加载呢
看到了你发的视频,里面有隐私信息建议还是尽快删除。另外你的设置没错,但是程序的逻辑是读取所有课程的任务点,然后将一个课程的所有视频进行同时的等时长刷取,所以触发了反爬吧。我之后给程序加个全局延时试试
你好,最新的版本已经添加了全局延时请求的功能,您可以再试试是否还会出现这个问题
已经大概率不会触发反爬系统了,但是最后读取完课程的所有任务点后会直接显示该课程处理完成,并没有进行等时长的刷取,所有课程都是这样,如图。
这是没读取到视频任务点,我迟点再去测试一下
最新的commit已经修复了媒体资源读取,还烦请再测试一下
会出现视频状态获取失败的情况
我这边暂时无法浮现,该问题在https://github.com/liuyunfz/chaoxing_tool/issues/100 也有提及,如果可以的话能否确认一下发生该问题的任务点具体类型或是直接提供最靠近报错信息的,以https://mooc1.chaoxing.com/knowledge/cards? 开头链接的源代码
是视频类型的,我后来把测验做完仅剩视频任务点的情况下还是如此,如下是其中一段。 2023-09-06 07:55:46.267 | DEBUG | utils:doGet:33 - Do Get to Url https://mooc1-1.chaoxing.com/ananas/status/f3af4ad6ee96bc5b11a34ea723f44e3f?k=&flag=normal&_dc=1600850935908 2023-09-06 07:55:46.267 | DEBUG | utils:doGet:33 - Do Get to Url https://mooc1.chaoxing.com/mycourse/studentstudyAjax?courseId=235123512&clazzid=78027062&chapterId=705061613&cpi=289979121&verificationcode=&mooc2=1 2023-09-06 07:55:46.911 | DEBUG | utils:doGet:33 - Do Get to Url https://mooc1.chaoxing.com/knowledge/cards?clazzid=78027062&courseid=235123512&knowledgeid=705061613&num=0&ut=s&cpi=289979121&v=20160407-1 2023-09-06 07:55:47.024 | ERROR | utils:doGet:46 - Get Url https://mooc1-1.chaoxing.com/ananas/status/f3af4ad6ee96bc5b11a34ea723f44e3f?k=&flag=normal&_dc=1600850935908 Error Url: https://mooc1-1.chaoxing.com/ananas/status/f3af4ad6ee96bc5b11a34ea723f44e3f?k=&flag=normal&_dc=1600850935908 Method: Get Status: 403 2023-09-06 07:55:47.025 | ERROR | classis.Media.Video:get_status:32 - the JSON object must be str, bytes or bytearray, not NoneType Exception in thread Thread-26 (run_video): Traceback (most recent call last): File "C:\Users\31570\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1009, in _bootstrap_inner self.run() File "C:\Users\31570\AppData\Local\Programs\Python\Python310\lib\threading.py", line 946, in run self._target(*self._args, **self._kwargs) File "C:\Users\31570\Downloads\Compressed\chaoxing_tool-master\functions\set_time\deal_time.py", line 42, in run_video raise RequestException("视频状态获取失败") File "C:\Users\31570\Downloads\Compressed\chaoxing_tool-master\classis\SelfException__init.py", line 18, in init__ self.text = html.text AttributeError: 'str' object has no attribute 'text'
今天测试时偶然出现了一次,但当我再次重新运行程序后就没有报错了。现在的猜测是因为等时长刷取是启用的线程,可能线程并发导致的cookie冲突问题。不知道你那边再次运行是否是同一个视频任务报错?还是比较随机但是由于数量大导致每次都会报错
基本上都是从第一个视频任务点开始就开始报错了,错误类型就和之前发的图一样。
基本上都是从第一个视频任务点开始就开始报错了,错误类型就和之前发的图一样。
我也是从第一个任务点开始就一直403了
你好,最新的版本添加了单线程刷取选项以及线程的随机延迟启动。我这边测试了三次,分别如下:
综上,烦请大家帮忙测试一下
你好,最新的版本添加了单线程刷取选项以及线程的随机延迟启动。我这边测试了三次,分别如下:
- 使用单线程模式,未出错
- 使用多线程模式,第二个任务点报错
- 使用随机延迟多线程模式,第一轮任务执行未出现报错
综上,烦请大家帮忙测试一下
随机延迟在哪里设置?
随机延迟默认启动的,如果是多线程
看到近期大家没有继续反馈相关问题,如果已修复将在未来几日关闭本issue。如果仍有类似问题还烦请继续告知
修改完成等时长刷取后程序还是速刷,因为速刷最后是显示处理完了但是没刷上,而且容易触发反爬。 如果想等时长按顺序刷是还需要在哪里设置吗?