解决新浪微博API调用限制 突破rate_limit_status瓶颈
新浪微博开放平台API的调用和TWITTER接口一样,都是受限的,以小时为单位进行限定。
他有两个限制原则
1.用户不登录基于IP的限制,每小时1000次
2.用户登录了基于用户的限制,每小时1000次
如果应用是用户不登录的那么就是对IP进行限制,建议登录登录了才有办法突破瓶颈,否则免谈
新浪给出了具体的限定规则
http://open.t.sina.com.cn/wiki/index.php/Rate-limiting?retcode=0
开发者可以使用rate_limit_status接口查看调用频率
rate_limit_status接口文档
http://open.t.sina.com.cn/wiki/index.php/Account/rate_limit_status
接口返回如下信息
Array ( [remaining_hits] => 999 [hourly_limit] => 1000 [reset_time_in_seconds] => 2717 [reset_time] => Tue Dec 14 17:00:00 +0800 2010 )
分别代表
剩余数量 999 次,
每小时限制 1000 次,
计数器重置剩余时间 2717 秒,
下次重置时间 17点。
这样的调用频率对非授权类的小型应用来说就已经不够用了,最简单的办法就是采用多帐号,多APP_KEY的办法,等于是做一个帐号轮询
首先多注册几个微博帐号,存入数组,每次随机调用一个,这样很容易就使得限制达到3000,
$wb_id = array('weiboid1@gmail.com|password', 'weiboid3@gmail.com|password', 'weiboid3@gmail.com|password');
list($wb_name, $wb_password) = explode("|", $wb_id[array_rand($wb_id)]);
用同样的办法再罗列几个APP_KEY的话重复组合,那么就更多了,比如用2个APP_KEY,3个帐号,限制就可以达到6000。
我本人用了3个APP_KEY,4个帐号,每小时1.2万的量,足够了。
另外说一个快速注册微博帐号的办法
第一步,
去gmail注册一个长帐号,多长呢?反正越长越好,一个原则字母长度超过你想要注册的微博账户数量
比如 asfwefsagasgfasddasfasdg@gmail.com
第二步,
用这个帐号去新浪注册
第一次用 asfwefsagasgfasddasfasdg@gmail.com
第二次用 a.sfwefsagasgfasddasfasdg@gmail.com
第三次用 as.fwefsagasgfasddasfasdg@gmail.com
....
以此类推,这样只要一个邮箱可以注册多个新浪微博ID。不需要来回重复注册邮箱。
下面是官方对访问频率的限制:
解决新浪微博API调用限制 突破rate_limit_status瓶颈的更多相关文章
- 以短链服务为例,探讨免AppKey、免认证、Ajax跨域调用新浪微博API
新浪微博的API官方提供了很多种调用方式,支持编程的,归根结底就是两种: 1.基于Oauth协议,使用Open API.(http://open.weibo.com/wiki/%E6%8E%88%E6 ...
- 新浪微博API使用初步介绍——解决回调地址的问题
# -*- coding: utf-8 -*- #python 27 #xiaodeng #新浪微博API使用初步介绍——解决回调地址的问题 #http://blog.csdn.net/monsion ...
- 【重要】新浪微博api研究
# -*- coding: utf-8 -*- #python 27 #xiaodeng #新浪微博api研究 ''' 3.SDK的使用规则: 1)使用微博API,需要通过用户的授权,获取用户的授权码 ...
- python编程之API入门: (二)python3中使用新浪微博API
回顾API使用的流程 通过百度地图API的使用,我理解API调用的一般流程为:生成API规定格式的url->通过urllib读取url中数据->对json格式的数据进行解析.下一步,开始研 ...
- 想突破学习瓶颈,为什么要认真的学一下Dubbo?
今天有学生在问,在学习dubbo的时候遇到瓶颈了怎么办,一些东西就感觉就在那里,但是,就是碰不到,摸不着,陷入了迷茫,今天在这里,就跟大家讲一下怎么突破这个瓶颈 先自我介绍一下哈,我是鲁班学院的周瑜老 ...
- Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...
- xmlrpc实现bugzilla api调用(无会话保持功能,单一接口请求)
xmlrpc实现bugzilla4 xmlrpc api调用(无会话保持功能,单一接口请求),如需会话保持,请参考我的另外一篇随笔(bugzilla4的xmlrpc接口api调用实现分享: xml ...
- PHP程序员如何突破成长瓶颈
PHP因为简单而使用,但不能因为它的简单而限制我们成长!文章给PHP工程师突破成长瓶颈提了一些建议,希望PHPer能够突破自己,有更好的发展. AD: 作为Web开发中应用最广泛的语言之一,PHP有着 ...
- Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
转自:https://www.cnblogs.com/keepfool/p/5665953.html 概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST AP ...
随机推荐
- centos7.4通过yum安装mysql
安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...
- NFS+inotify实时同步
Inotify简介 Inotify是一种文件系统事件通告机制,能够实时监控文件系统下文件的访问.修改.删除等各种变化情况并将其作为事件通告给用户态应用程序.Linux内核从2.6.13版本后已经集成了 ...
- 用JavaScript简单判断浏览器类型
判断浏览器类型 /** * 判断浏览器类型 * 返回表示浏览器类型的字符串 */ function whoIsMe(){ var explorer = navigator.userAgent; if( ...
- 第一次用python编写的小程序
print ("*******数字游戏*********")temp = input ("猜猜小红现在心里想的是什么数字呢?")guess = int(temp ...
- django “如何”系列5:如何编写自定义存储系统
如果你需要提供一个自定义的文件存储-一个常见的例子便是在远程系统上存储文件-你可以通过定义一个自己的存储类来做这件事情,你将通过一下步骤: 你自定义的存储系统一定是django.core.files. ...
- hdu 1080(LCS变形)
Human Gene Functions Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- hdu 1133(卡特兰数变形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1133 题意:排队买50块一张的票,初始票台没有零钱可找,有m个人持有50元,n人持有100元, ...
- Binary Tree Level Order Traversal&&II
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- HTTP资源合集
(1)MoZILLA开发者web技术文档之HTTP 未完待续...
- 解决Tomcat因Redis加载慢而启动失败的问题
StartTomcat.py import subprocess as t import time, os, requests, sys WEB_IP = '127.0.0.1:8080' # WEB ...