2017-07-13 11 views
0

私はコードを作成しています。特定の時刻のハッシュタグからすべてのつぶやきを取り出し、それを端末またはJSONファイルまたはテキストファイルに書き込む予定ですが、私のプログラムは1つのつぶやきしか取っておらず、他のすべてのつぶやきのために書き込みます。Pythonは特定の時刻のハッシュタグからすべてのつぶやきを取得しています

は、出力は私がしたい:例えば

* B * C

出力は私が取得*:

* * *

方法私はこれを修正できますか?

def date_range(start,end): 
    current = start 
    while (end - current).days >= 0: 
     yield current 
     current = current + datetime.timedelta(seconds=1) 

class TweetListener(StreamListener): 
    def on_status(self, status): 
     #api = tweepy.API(auth_handler=auth) 
     #status.created_at += timedelta(hours=900) 

     startDate = datetime.datetime(2013, 6, 30) 
     stopDate = datetime.datetime(2013, 10, 30) 
     for date in date_range(startDate,stopDate): 
      status.created_at = date 
      print ("tweet " + str(status.created_at) +"\n") 
      print (status.text + "\n") 
      # You can dump your tweets into Json File, or load it to your database 

stream = Stream(auth, TweetListener(), secure=True,) 
t = "#twitter" # You can use different hashtags 
stream.filter(track=[t]) 

答えて

1

あなたが過去の日付からのツイートをストリームすることはできません。

は、ここに私のコードです。ツイートのストリームには、ストリームが開いている間にツイートされたツイートのみが含まれています。古いツイートが欲しい場合は、search/tweetsエンドポイントを使用してください。しかし、それは先週からのつぶやきだけを返します。あなたの例のように、4年前からつぶやきを返しません。そのためには、Gnipのようなサービスの料金を支払う必要があります。

関連する問題