用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. HashSet, HashTable

    HashTable 存储键值对 , Hashtable和Dictionary<TKey,TValue>都是存键值对 HashSet 只存储值,盛放不同的数据,相同的数据只保留一份 Hash ...

  2. 泛型List、HashTable

    从最开始接触的数组,到非泛型集合类(ArrayList.HashTable.Queue.Stack).泛型集合类(List<T>.Dictionary<T>.Queue< ...

  3. caffe_ssd学习-用自己的数据做训练

    几乎没用过linux操作系统,不懂shell编程,linux下shell+windows下UltraEdit勉勉强强生成了train.txt和val.txt期间各种错误辛酸不表,照着examples/ ...

  4. JS实战

    1. jquery取消点击事件 $("#dashboard").unbind("click"); 2.jquery绑定鼠标滑过,离开事件 $("#da ...

  5. python的print函数自动换行及其避免

    print函数自带换行功能,即在输出内容后会自动换行,但是有时我们并不需要这个功能,那怎么办呢?这时候就需要用到end这个参数了,使用方法参考下面这段打印$矩阵的代码: i = 1 while i&l ...

  6. 20165215 2017-2018-2 《Java程序设计》第九周学习总结

    20165215 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程 ...

  7. git学习总结 - 纯命令

    全局安装git: npm intall git -g 查看git版本: git --version 进入目录,初始化git: 若在目录中使用上一个,不在目录中使用下一个. //已有目录: git in ...

  8. mycat中schema.xml的一些解释

    <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> &l ...

  9. pyqt5界面切换

    #主要的思路就是创建两个frame(如果有两个以上同理)使用setVisible()函数显示或者隐藏frame 参数是bool值import sys from PyQt5.QtWidgets impo ...

  10. django 获取错误信息

    https://blog.csdn.net/xxm524/article/details/48369623