我正在使用 Tweepy Python 模块,需要帮助弄清楚如何从特定的 Twitter 列表时间线传输状态。
目前,我可以通过运行以下命令从列表时间线中检索状态:
list_status = api.list_timeline(list_id=list_id, count=1)
print(list_status[0].text)
这可行,但它只获取每次执行的最新状态。我可以循环这段代码,将检索到的状态与前一个状态进行比较,然后仅打印新状态,但这感觉效率很低。
我正在寻找一种从列表时间轴流式传输状态的方法,以便每当列表中发布新状态时自动触发我的代码块。
我已成功为用户的主页时间线、关键字和主题标签设置流式传输,但我还没有找到专门从 Twitter 列表时间线流式传输状态的方法。
Tweepy 中是否有一种方法(或其他方法)允许实时从 Twitter 列表流式传输更新?
不幸的是,这在 tweepy 或 twitter API 中不可用,因此我们必须调整轮询或调度等内容
获取ID
list_id = 'your_list_id'
members = ...
user_ids = ...
并开始轮询提取的 ID
class MyStreamListener(tweepy.StreamingClient):
def on_tweet(self, tweet):
print(tweet.text)
def on_errors(self, errors):
print(errors)
stream = MyStreamListener(bearer_token=bearer_token)
rules = [tweepy.StreamRule(value="from:" + user_id) for user_id in user_ids]
stream.add_rules(rules)
# Start the stream
stream.filter()