2013-04-30 56 views
0

我們公司正在嘗試讀取隨機用戶輸入的所有數據流,即隨機用戶發送「ABC公司」的鳴叫。即時檢索Twitter數據

看到您如何使用Twitter客戶端來搜索所述文本,我假設可以在不使用客戶端的情況下彙總所有發送的tweets,即文件,實時流式傳輸而不使用井號標籤。

這樣做的最好方法是什麼?如果你之前做過這些,你可以分享你的劇本嗎?我認爲最簡單的方法是通過ruby/python腳本運行,但我對ruby/python的理解還是有限的。

請幫忙嗎?

回答

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'] 
+0

我已經剝奪了我自己的代碼工作副本,我在幾個項目中使用。然而,它涉及到一大堆加密/解密數據,發佈,通過OAuth登錄等等。所以這是對#標籤進行查詢的最低限度。:) – Torxed 2013-04-30 16:37:58

+0

似乎無法在我的end.AttributeError :'twitt'對象沒有'alive'屬性 – 2013-04-30 16:44:01

+0

@DustinCurtis你是否安裝了提到的模塊? https://github.com/sixohsix/twitter – Torxed 2013-04-30 16:44:28