我是 tweepy 的新手。并尝试实现一个 API,它可以监听新推文中的@提及或屏幕名称。
tweets = api.user_timeline(screen_name=username)
但它没有收听新的推文。您能否帮助我了解如何实现它,以便每当推文带有“@mention”时。 api 应该立即监听
最佳答案
创建一个 StreamListener
Tweepy 的 StreamListener 的 on_data 方法方便地将数据从状态传递到 on_status 方法。 创建继承自 StreamListener 并覆盖 on_status 的类 MyStreamListener。
import tweepy
覆盖 tweepy.StreamListener 以将逻辑添加到 on_status
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
print(status.text)
创建流
需要一个 API 来使用正确的身份验证凭据进行流式传输。一旦我们有了 API 和状态监听器,我们就可以创建我们的流对象。
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
开始直播
myStream.filter(track=['python'])
myStream.filter(follow=["2211149702"])
异步流
myStream.filter(track=['python'], is_async=True)
处理错误
class MyStreamListener(tweepy.StreamListener):
def on_error(self, status_code):
if status_code == 420:
#returning False in on_error disconnects the stream
return False
# returning non-False reconnects the stream, with backoff.
关于twitter - 如何使用 tweepy 收听 @mention 的新推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61654519/