-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add random delay #13
Add random delay #13
Conversation
我这里从没有触发过反爬,并且有即时下载视频的需求,所以延迟并不是一个好的解决方案。 |
和
两个报错是在哪里出现的。 是否被反爬并不需要怀疑,Rsshub 上会有明确的提示。 |
我设置了30个计划任务,并同时重启rsshub和该软件,就会出现部分甚至大量出现此类报错。 |
已经添加配置自行开关延迟 |
|
关于第一个问题,我目前的docker-compose设计中已经采用了health-check和depends_on来规避,但是没有效果,以下是我的docker-compose文件:docker-compose.txt 关于第二个问题,我认为30个任务就造成网络单纯的阻塞的可能性是远小于被风控的可能性的,而且我认为也许rsshub并没有捕获到bilbili新的风控特征,因此没有报出风控的错误。即使真的是因为网络问题,那么通过延迟和排队设计来缓解网络原因导致的阻塞依然是有意义的。而且我在采用延迟的设计后,的确没有再出现过上面的报错,因此从结果上来说,这样的设计是有作用的。 关于第三个问题,同样的从docker-compose文件中可以看到,我已经使用了自建的rsshub和多个bilibili-cookies来尝试规避该问题,但是没有效果 |
最后再说说我对这个 PR 乃至本项目的看法。之前便想说了,打了一半觉得不合适就删了:
我没有批评你的意思,毕竟本项目本身就不 "合理",我没有资格也没有必要批评,并且感谢你为本项目做出的贡献和尝试。
|
行吧,我了解了 |
在每个线程开始更新视频前添加一段上限为10分钟的随机延迟,以防止大量线程同时通过rsshub访问bilibili API 导致的可能的反爬限制。
之前发现当开启服务时,如果设置的较多的任务时会导致如下报错。
或者
但是在减少任务后,不会出现以上报错,合理怀疑是因为并发设计会导致大量线程同时通过rsshub访问bilibili API并导致的可能的反爬限制。
因此通过增加随机延迟以规避掉短时间的大量访问。