Python从特定时间的标签中获取所有推文

时间:2017-07-13 12:58:20

标签: python python-3.x twitter twitter-streaming-api

我正在处理代码。它应该从具有特定时间的主题标签中获取所有推文并将其写在终端或JSON文件或文本文件上,但我的程序只需要一条推文并将其写入所有其他推文。例如:

我想要的输出:

* A * B * C

我得到的输出:

* A *一个 * A

我该如何解决这个问题?

这是我的代码:

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 个答案:

答案 0 :(得分:2)

您无法播放过去日期的推文。推文流仅包含在您的流打开时发推文的推文。如果您想要旧推文使用search/tweets端点。但是,这只会返回上周左右的推文。从4年前开始,它不会像你的例子那样返回推文。为此,您需要为Gnip等服务付费。