用Twitter自己的话来说:
 

REST API

The REST API provides simple interfaces for most Twitter functionality.

the Streaming APIs

The Streaming API is a family of powerful real-time APIs for Tweets and other social events.

显而易见,REST API看上去没Streaming API这么高级。这也是有历史原因的。之前Twitter没有自己的搜索功能,大家用着都挺不方便。而一家叫做Summarize. Inc的,只有五名工程师的小公司,正好做了这个功能满足客户需求。Twitter对其十分很欣赏,用Twitter创始人之一Biz Stone的话来说,就是“We had already fallen in love with both"。于是,2008年7月,Twitter对Summarize进行了收购,并把该功能重新包装为“Twitter Search”。这家公司开发的API,就是REST API。

但除此之外,Twitter作为自主研发的一套系统,不能没有自己的家伙,2010年7月,Twitter的亲儿子,Streaming API诞生。亲儿子嘛,高级一些也是很合理的。

Twitter承诺将整合二者,但目前看来这项工作还在漫漫无期的进行当中,REST API甚至还推出了1.1的新版本。

 

REST API

可用于查询,修改某用户账户。查询无需用户权限,修改需要用户权限。权限由OAuth提供。

非实时,对数据量等方面有较严格的限制。

传统的Web信息交流模式,发送Request, 返回数据。

返回大约最近一周的数据。

Streaming API

根据搜索条件,用户名,实时返回tweets和用户信息,无需用户权限。但必须通过basic或OAuth登录你自己的Twitter账号才能使用Streaming。

实时,限制较为宽松。

需与Twitter Server建立长期Connection(几个月甚至数年!只要你还需要Twitter数据!),得用一个长期的系统进程去维护它!

只返回Connection建立之后的数据,不返回历史。

还有很多不同,详情参见

http://140dev.com/twitter-api-programming-tutorials/aggregating-tweets-search-api-vs-streaming-api/

参考:

http://stackoverflow.com/questions/5400760/twitter-api-rest-and-streaming-whats-the-difference
https://dev.twitter.com/docs
https://dev.twitter.com/docs/history-rest-search-api
http://tech.qq.com/a/20100321/000033_2.htm
http://www.techweb.com.cn/news/2010-07-29/650599.shtml
https://blog.twitter.com/2008/finding-perfect-match
http://140dev.com/twitter-api-programming-tutorials/aggregating-tweets-search-api-vs-streaming-api/

Twitter REST API, Streaming API的更多相关文章

  1. 【337】Text Mining Using Twitter Streaming API and Python

    Reference: An Introduction to Text Mining using Twitter Streaming API and Python Reference: How to R ...

  2. salesforce零基础学习(八十五)streaming api 简单使用(接近实时获取你需要跟踪的数据的更新消息状态)

    Streaming API参考链接: https://trailhead.salesforce.com/en/modules/api_basics/units/api_basics_streaming ...

  3. 基于Woodstox的StAX 2 (Streaming API for XML)解析XML

    StAX (Streaming API for XML)面向流的拉式解析XML,速度快.占用资源少,非常合适处理大数据量的xml文件. 详细教程和说明可以参见以下几篇文章: 使用 StAX 解析 XM ...

  4. Jackson Streaming API to read and write JSON

    Jackson supports read and write JSON via high-performance Jackson Streaming APIs, or incremental mod ...

  5. Spark(十) -- Spark Streaming API编程

    本文测试的Spark版本是1.3.1 Spark Streaming编程模型: 第一步: 需要一个StreamingContext对象,该对象是Spark Streaming操作的入口 ,而构建一个S ...

  6. 重构Web Api程序(Api Controller和Entity)续篇

    昨天有写总结<重构Web Api程序(Api Controller和Entity)>http://www.cnblogs.com/insus/p/4350111.html,把一些数据交换的 ...

  7. ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECShop存在一个盲注漏洞,问题存在于/api/client/api. ...

  8. httpclient 认证方式访问http api/resutful api并获取json结果

    最近,因公司线上环境rabbitmq经常发生堆积严重的现象,于是跟运维组讨论,帮助开发个集中监控所有rabbitmq服务器运行情况的应用,需要通过java访问rabbitmq暴露的http api并接 ...

  9. web api写api接口时返回

    web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法: 方法一:(改配置法) 找到Global.asax文件,在Applic ...

随机推荐

  1. Quick-Cocos2d-x 新建项目

    开发工具准备就绪以后,下面我们就可以开始创建我们的项目了. 首先启动 Quick 下的 player3,在这儿的示例标签下你可以看到很多Quick自带的示例,对于初学者来说,看看这些示例的使用方法会对 ...

  2. CentOS下Yum的$releasever和$basearch的取值

    CentOS下Yum源配置文件中如CentOS-Base.repo的$releasever和$basearch的取值 $releasever的值,这个表示当前系统的发行版本,可以通过如下命令查看: r ...

  3. 20165305 苏振龙《Java程序设计》第二周学习总结

    代码托管(ch2,ch3) 脚本截图 教材内容总结 类型.变量与运算符 基本类型 整数(short.int.long) 字节(byte) 浮点数(float/double) 字符(char)将一个数字 ...

  4. 自动添加菜品,加入运行中遇到的异常,生成日志文件...<工作中场景...>

    """ 很弱智的小脚本,记录下.也许以后看到会笑,因为太幼稚或者证明曾经也努力过.so... """ """ ...

  5. AlphaGo设计师黄士杰:“最强的学习技能在人类的脑袋里”

    AlphaGo设计师黄士杰:“最强的学习技能在人类的脑袋里” 深度学习和强化学习结合看来才能解决彩票预测的问题 可以这么说,AlphaGo的成功就是深度学习与强化学习的胜利,因为两者结合在一起,建构判 ...

  6. 简单的图像显著性区域特征提取方法-----opencv实现LC,AC,FT

    https://blog.csdn.net/cai13160674275/article/details/72991049?locationNum=7&fps=1 四种简单的图像显著性区域特征 ...

  7. Python数据类型的显式转换

    数据类型的显示转换,也称为数据类型的强制类型转换,是通过Python的内建函数来实现的类型转换. 显式转换的多种类型: int(x [,base]) ⇒ 将x转换为一个十进制的整数 long(x [, ...

  8. python面向对象三大特性之一继承、多态、封装

    继承,即在定义一个类时,以另一个类为参数,则称这个新定义的类继承了参数类,父类又称为基类. 单继承表示只继承一个类,多继承表示继承多个类. class parent1: pass class pare ...

  9. java Condition条件变量的通俗易懂解释、基本使用及注意点

    最近在看pthread方面的书,看到条件变量一节的时候,回忆了下java中条件变量的使用方式. java中条件变量都实现了java.util.concurrent.locks.Condition接口, ...

  10. MySql数据库表操作(二)

    一.增加表记录: insert [into] tab_name (field1,field2....) values (values1,values2....) , (values1,values2. ...