我尝试了以下代码:
class MyListener(StreamListener):
def on_data(self, data):
print(data)
return True
listener = MyListener()
auth = OAuthHandler(config.API_KEY, config.API_SECRET)
auth.set_access_token(config.ACCESS_TOKEN, config.ACCESS_TOKEN_SECRET)
stream = Stream(auth, listener)
stream.filter(follow=['<user_id>']) # assume this user is a celebrity
运行此代码时我得到的是许多垃圾邮件推文或其他用户的转发。 (假设这个<user id>
是一位拥有数百万粉丝的名人。关注者一直在分享推文)
但我想流式传输发布的原始推文only
通过这个具体的<user id>
。我怎样才能实现这个?提前致谢。
The 官方文档 https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters说使用follow
你得到的参数:
- 用户创建的推文。
- 由用户转发的推文。
- 回复用户创建的任何推文。
- 转发用户创建的任何推文。
- 手动回复,无需按回复按钮即可创建(例如“@twitterapi 我同意”)。
因此,您只需跳过不是由指定用户发布的推文:
def on_status(self, status):
if status.user.id_str != '<user_id>':
return
print(status.text)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)