关于豆瓣API 40次/分钟的访问限制
大家好,目前我在弄个豆瓣的网页应用。遇到些问题
Q1:
40次/分钟 是针对一组特定的(IP, APIKEY)还是只针对IP
比如在
IP_A上(APIKEY1, IP_A)上被返回403了之后
IP_B上(APIKEY1, IP_B)上是否 继续使用
因为如果是弄网页应用的话,服务器固定IP 明显40次/分钟的限制是不够的,40访问者就够呛了
Q2:
每分钟40/次的API访问限制具体是如何进行判断的?
因为我有自己的调度算法,通过日志上观察 每分钟的访问次数还是不超过四十次的.
我的理解是这样
在时间
0(s) 进行第1次访问
....
....
60(s)之内进行了n次访问(n <= 40)
那么在第61~120秒的时间内, 应该又能最多够进行40次访问。(我的理解)
是这样么?
因为我的日志显示,在当前的调度算法内是不会超额访问API的,但实际上却返回了403.
希望得到高手的解答,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一般做访问请求数限制是不会实时计算的,那样消耗太大,得不偿失。所以你在问题中提到的第60秒的问题不存在,如果是我不会这么来精确计算。
下面只是来介绍下怎么做请求数限制,比较土一点的办法是这样,应用服务和访问控制是两个完全独立的服务,应用服务只会在第三方服务请求时记录下日志,这时另外一个访问控制服务会实时监听这个日志,并记录下每个ip的访问情况。它会每段时间算个平均值,所以你算的跟它算的是不一样的。如果你超过某个限制,它就会ban掉你。
另外虽然豆瓣对每个api的请求数有明文规定,但是针对单个ip的请求数大多数提供api的服务商都是有限制的,这是基于服务器本身安全的需要。
建议你如果无法得到豆瓣的商务支持,那么只能自己做一做缓存了。
唔.这个问题深层的我不太清楚诶.不过话说应该可以跟豆瓣那里要到API访问频率更大的KEY吧~一般的API不都是这样的么~呵呵
楼主有没有相关把需要的数据自己去爬回来?