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

如何让Tweepy stream.filter仅返回指定用户发布的带指定hashtag的推文

问题根因

Twitter 官方流式过滤接口的多参数是或逻辑,同时传入follow和track参数时,只要满足任一条件的推文都会被返回,而非同时满足两个条件,这就是你当前拿到所有带目标hashtag推文的原因。

修复方案

需要走「API侧粗过滤+本地细校验」的两层逻辑实现你的需求:

  • 第一步:调用流接口时仅传入follow参数,先限定只拉取目标用户发布的所有推文,减少无效流量消耗
  • 第二步:在本地的流回调逻辑中,对拿到的推文实体做hashtag校验,仅保留包含目标hashtag的内容

代码示例如下(以tweepy库为例):

# 第一步:流过滤仅保留指定用户的所有推文
stream.filter(follow=[twitter_id], threaded=True)

# 第二步:在你的流回调方法中补充hashtag校验逻辑
def on_tweet(self, tweet):
    # 提取推文中的所有hashtag,统一转小写适配大小写不敏感的匹配规则
    existing_hashtags = [tag["tag"].lower() for tag in tweet.entities.get("hashtags", [])]
    # 校验是否包含目标hashtag,注意hashtag_to_track不要带#前缀
    if hashtag_to_track.lower() in existing_hashtags:
        # 此处编写你对符合要求推文的后续处理逻辑
        print(f"命中符合要求的推文:{tweet.text}")

内容的提问来源于stack exchange,提问作者0xSingularity

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:45:10