Python 从推特流媒体中排除回复-tweepy
我使用tweepy从twitter的流媒体api中获取推文。然后我用这个自动回复到那个用户 例如,如果我想从唐纳德·特朗普那里获取实时推文,然后回复,我会使用:Python 从推特流媒体中排除回复-tweepy,python,api,twitter,streaming,tweepy,Python,Api,Twitter,Streaming,Tweepy,我使用tweepy从twitter的流媒体api中获取推文。然后我用这个自动回复到那个用户 例如,如果我想从唐纳德·特朗普那里获取实时推文,然后回复,我会使用: import tweepy from tweepy import Stream from tweepy.streaming import StreamListener import json class StdOutListener(StreamListener): def on_data(self, data):
import tweepy
from tweepy import Stream
from tweepy.streaming import StreamListener
import json
class StdOutListener(StreamListener):
def on_data(self, data):
clean_data = json.loads(data)
tweetId = clean_data["id"]
tweet = "YOUR MESSAGE HERE"
respondToTweet(tweet, tweetId)
def setUpAuth():
auth = tweepy.OAuthHandler("consumer_token", "consumer_secret")
auth.set_access_token("access_token", "Access_token_secret")
api = tweepy.API(auth)
return api, auth
def followStream():
api, auth = setUpAuth()
listener = StdOutListener()
stream = Stream(auth, listener)
stream.filter(follow=["25073877"], is_async=True)
def respondToTweet(tweet, tweetId):
api, auth = setUpAuth()
api.update_status(tweet, in_reply_to_status_id=tweetId, auto_populate_reply_metadata=True)
if __name__ == "__main__":
followStream()
如果你运行我上面的代码,你会注意到它确实回复了唐纳德·特朗普,但也回复了他推文的所有新回复
我需要添加什么才能从流中排除对他的推文的回复
提前感谢您的帮助。- 您可以添加一个条件,仅直接从
id响应推文follow
- 这应该只允许对随后的帐户进行响应
- 因此,在这种情况下,只有当随后的帐户回复时,响应才会是
tweetId
- 对于多个用户,使用中的
测试安全壳:
如果[25073877,id2,id3,…]中的用户id:
类StdOutListener(StreamListener):
def on_数据(自身、数据):
clean_data=json.load(数据)
tweetId=clean_数据[“id”]
用户id=清除数据['user']['id']
tweet='试图找出这个代码来回答一个问题,所以,忽略这个'
如果用户_id==25073877:
打印(“立即发送回复”)#可选
响应tweet(tweet,tweetId)
我假设您已经阅读了“是”-我之所以要修复此问题,是因为它会生成大量被视为垃圾邮件的回复。