You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tweepy Streaming中限制推文流,获取100条后停止?

如何让Tweepy流在获取100条推文后停止?

很简单!你只需要给你的listener类加个计数器,每处理一条推文就累加计数,当计数到100时,让on_data方法返回False——Tweepy的流检测到返回False就会自动停止运行。

修改后的完整代码如下:

import json
from tweepy import StreamListener

class listener(StreamListener):
    def __init__(self):
        super().__init__()
        # 初始化推文计数器
        self.tweet_count = 0
        # 设置要获取的目标推文数量
        self.target_count = 100

    def on_data(self, data):
        all_data = json.loads(data)
        tweet = all_data["text"]
        username = all_data["user"]["screen_name"]
        
        # 这里可以保留你原本对推文的处理逻辑,比如打印、存储等
        print(f"@{username}: {tweet}")
        
        # 每处理一条推文,计数器加1
        self.tweet_count += 1
        # 当达到目标条数时,返回False停止流
        if self.tweet_count >= self.target_count:
            print(f"已获取{self.target_count}条推文,停止流处理")
            return False
        return True

    def on_error(self, status):
        print(status)

关键逻辑说明:

  • 在__init__方法里初始化了计数器和目标条数,后续要调整获取数量的话,直接改self.target_count就行
  • 每次处理完推文后计数器累加,达标时返回False触发流停止,这是Tweepy流的内置规则
  • 完全保留了你原本的错误处理逻辑,不影响原有的错误状态打印

内容的提问来源于stack exchange,提问作者Sanjeev MUFC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:52:40