2015-09-26 75 views
0

我使用tweepy来查找包含某个词的推文,但我只想从最后五分钟获取最新的推文。我将如何去做这件事?这是我目前的代码。关于python tweepy的最新推文?

import tweepy 

consumer_key = "**********" 
consumer_secret = "**********" 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token("**********", "**********") 

api = tweepy.API(auth) 

public_tweets = api.search(q = "", since = "2015-09-26", language = "EN") 
for tweet in public_tweets: 
    print(tweet.text) 

回答

0

首先:我编辑了您的帖子以删除您的凭据,我建议您从twitter中获取新的并且不再分享它们。

还将您的api.search(Rest API)更改为Streaming API。这将为您提供一部分与您打开该连接时符合条件的推文。

例如

from tweepy import Stream 
from tweepy import OAuthHandler 
from tweepy.streaming import StreamListener 

consumer_key = '****' 
consumer_secret = '****' 
access_token = '****' 
access_secret = '****' 


class Listener(StreamListener): 

    def on_status(self, status): 

     try: 

      print(str(status.text.encode('utf-8'))) 

     except Exception as e: 
      print(e) 

    def on_error(self, status_code): 
     print(status_code) 


while True: 
    try: 
     auth = OAuthHandler(consumer_key, consumer_secret) 
     auth.set_access_token(access_token, access_secret) 
     twitterStream = Stream(auth, Listener()) 

     twitterStream.filter(q=['python']) 

    except Exception as e: 
     print(e) 
+0

我怎么会显示微博?这是代码我现在: 'CONSUMER_KEY = “”''CONSUMER_SECRET = “” AUTH = tweepy.OAuthHandler(CONSUMER_KEY,CONSUMER_SECRET) API = tweepy.API(AUTH) 类MyStreamListener(tweepy.StreamListener): DEF on_status(个体,状态): 打印(status.text) myStreamListener = myStreamListener() myStream = tweepy.Stream(AUTH = api.auth,听者= myStreamListener) CONSUMER_KEY = “” CONSUMER_SECRET = “” auth.set_access_token(“”,“”) print(myStream)' –

+0

'print(status.text)'is显示实际的推文。删除'print(myStream)'。你没有收到任何东西吗? – Leb

+0

没有得到任何东西 –