如何使用 tweepy python 模块流式传输 twitter 列表成员的推文?

问题描述 投票:0回答:1

我正在使用 Tweepy Python 模块,需要帮助弄清楚如何从特定的 Twitter 列表时间线传输状态。

目前,我可以通过运行以下命令从列表时间线中检索状态:

list_status = api.list_timeline(list_id=list_id, count=1)
print(list_status[0].text)

这可行,但它只获取每次执行的最新状态。我可以循环这段代码,将检索到的状态与前一个状态进行比较,然后仅打印新状态,但这感觉效率很低。

我正在寻找一种从列表时间轴流式传输状态的方法,以便每当列表中发布新状态时自动触发我的代码块。

我已成功为用户的主页时间线、关键字和主题标签设置流式传输,但我还没有找到专门从 Twitter 列表时间线流式传输状态的方法。

Tweepy 中是否有一种方法(或其他方法)允许实时从 Twitter 列表流式传输更新?

python twitter tweepy
1个回答
0
投票

不幸的是,这在 tweepy 或 twitter API 中不可用,因此我们必须调整轮询或调度等内容

  1. 获取列表成员。
  2. 获取所有会员的ID

例如:

获取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()
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.