即时检索Twitter数据

时间:2013-04-30 16:27:40

标签: python ruby curl twitter

我们公司正在尝试读取随机用户输入的所有实时数据流,即随机用户发送一条说“ABC公司”的推文。

看看如何使用Twitter客户端搜索所述文本,我假设可以汇总所有发送不使用客户端的推文的推文,即在不使用主题标签的情况下实时流式传输

最好的方法是什么?如果你以前做过这个,你能分享你的剧本吗?我认为最简单的方法是通过ruby / python脚本运行,但我对ruby / python的理解充其量是有限的。

请帮助?

1 个答案:

答案 0 :(得分:0)

这是最低限度的:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import twitter
from threading import *
from os import _exit, urandom
from time import sleep
from logger import *
import unicodedata

## Based on: https://github.com/sixohsix/twitter

class twitt(Thread):
    def __init__(self, tags = None, *args, **kwargs):
        self.consumer_key = '...' 
        self.consumer_secret = '...'
        self.access_key = '...'
        self.access_secret = '...'

        self.encoding = 'iso-8859-15'

        self.args = args
        self.kwargs = kwargs

        self.searchapi = twitter.Twitter(domain="search.twitter.com").search

        Thread.__init__(self)
        self.start()

    def search(self, tag):
        try:
            return self.searchapi(q=tag)['results']
        except:
            return {}

    def run(self):
        while 1:
            sleep(3)

要使用它,请执行以下操作:

if __name__ == "__main__":
    t = twitt()
    print t.search('#DHSupport')
    t.alive = False

注意:这是线程化的唯一原因是因为它只是我为其他项目设计的一段代码,它让您了解如何使用API​​并可能构建后台服务以在Twitter上获取搜索结果。 我的原始代码中有很多废话,所以结构看起来有点奇怪。 请注意,您实际上不需要使用consumer_keys等进行搜索,但您需要OAuth登录才能获得更多功能,例如发布或检查消息。

您真正需要的唯一两件事是:

import twitter
print twitter.Twitter(domain="search.twitter.com").search(q='#hashtag')['results']