简单的twitter流api访问

tweetstream的Python项目详细描述


简介

tweetstream提供了两个类samplestream和followstream,它们可以是 用于从twitter的流式api获取tweets。其中一个的实例 类可以用作迭代器。除了获取tweets之外, 对象跟踪收集的tweet的数量以及 收到推文。

samplestream提供了所有tweet的示例。Filterstream提供 符合一个或多个条件的推文。注意这是不可能的 获取所有无法访问“firehose”流的tweets 目前还不能向公众提供。

Twitter关于流媒体API的文档可以在这里找到: http://dev.twitter.com/pages/streaming_api_methods

请注意api正在阻塞。如果由于某种原因数据不能立即 可用时,呼叫将被阻塞,直到有足够的数据产生tweet。

示例

打印传入的推讯:

>>> stream = tweetstream.SampleStream("username", "password")
>>> for tweet in stream:
...     print tweet

stream对象也可以用作上下文,在本例中 打印每个tweet的作者以及tweet计数和速率:

>>> with tweetstream.SampleStream("username", "password") as stream
...     for tweet in stream:
...         print "Got tweet from %-16s\t( tweet %d, rate %.1f tweets/sec)" % (
...                 tweet["user"]["screen_name"], stream.count, stream.rate )

流对象可以引发connectionerror或authenticationerror异常:

>>> try:
...     with tweetstream.TweetStream("username", "password") as stream
...         for tweet in stream:
...             print "Got tweet from %-16s\t( tweet %d, rate %.1f tweets/sec)" % (
...                     tweet["user"]["screen_name"], stream.count, stream.rate )
... except tweetstream.ConnectionError, e:
...     print "Disconnected from twitter. Reason:", e.reason

要获取符合特定条件的tweets,请使用filterstream。过滤流 使用三个关键字参数:“locations”、“follow”和“track”。

位置是一个边界框列表,地理标记的tweets应该在其中发起。 参数应该是经纬度对的Iterable。

track指定要跟踪的关键字。这个论点应该是 串。

follow返回引用给定用户的状态。参数应该是iterable Twitter用户ID的。id是用户id int,而不是屏幕名称。

>>> words = ["opera", "firefox", "safari"]
>>> people = [123,124,125]
>>> locations = ["-122.75,36.8", "-121.75,37.8"]
>>> with tweetstream.FilterStream("username", "password", track=words,
...                               follow=people, locations=locations) as stream
...     for tweet in stream:
...         print "Got interesting tweet:", tweet

不推荐的类

tweetstream用于包含类tweetstream、followstream、trackstream locationstream和重新连接tweetstream。当twitter 更改了其API端点。同样的功能现在在 samplestream和filterstream。当 使用,但将保持功能一段时间。

更改日志

请参见更改日志文件

联系人

作者是rune halvorsen<;runefh@gmail.com>;。项目位于 http://bitbucket.org/runeh/tweetstream。如果你发现了漏洞,或者有 请求,请在项目站点问题跟踪程序中报告它们。补丁是 也非常欢迎。

贡献者

  • 符文halvorsen
  • 克里斯托弗·席尔科克

许可证

此软件是根据New BSD License授权的。请参阅LICENCE 文件位于顶级分发目录中,以获取完整的许可证文本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当使用RequestDispatcher时,servlets Java最终没有被调用   java生成对具有可变参数数的方法的调用   java如何使用select子句中的参数化列映射iBATIS的查询?   java无法创建类型为org的插件。阿帕奇。登录中。log4j。果心阿佩德。元素RollingFile的RollingFileAppender   java当子实体和父实体之间存在OneTONE JPA关系时,是否可以将其与父实体一起持久化?   Android上的java Facebook集成fbconnect断开链接   获取方法调用方的java机制   从列表创建Oracle阵列时出现java问题   添加和检索元素的ArrayList的java ArrayList   在java中从字符串中删除无效的XML字符   java如何构建完整生成的maven模块   java如何准确地改变播放所有分辨率midi文件的速度?   shell javac:无效标志:/src/中位_度。ubuntu中的java   java使用从其他类的方法检索到的信息