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

使用Tweepy过滤推文无效,返回无关内容求助

Tweepy流过滤规则不生效的解决方案

问题根源

你的代码核心问题在于Twitter API的流规则是持久化存储的,每次运行代码添加新规则时,旧规则不会自动清除,导致新旧规则叠加,最终返回不符合预期的推文。另外,默认的关键词匹配是包含匹配,可能会引入相关度较低的内容。

修复步骤

  1. 启动前清除所有旧规则
    在添加新规则前,先获取并删除已存在的所有规则,避免规则冲突:

    # 获取现有规则
    existing_rules = printer.get_rules()
    if existing_rules.data:
        rule_ids = [rule.id for rule in existing_rules.data]
        printer.delete_rules(rule_ids)
    
  2. 使用精确匹配规则(可选)
    如果需要严格匹配完整关键词而非包含匹配,给关键词加上双引号,避免匹配到衍生词或无关内容:

    printer.add_rules(tweepy.StreamRule('"python"'))
    printer.add_rules(tweepy.StreamRule('"programming"'))
    printer.add_rules(tweepy.StreamRule('"software"'))
    
  3. 验证规则添加结果
    添加规则后,主动检查是否成功:

    added_rules = printer.get_rules()
    print("已添加的规则:", [rule.value for rule in added_rules.data])
    

修改后的完整代码

import tweepy
from tweepy.streaming import StreamingClient
from dotenv import load_dotenv
import os

load_dotenv()

api_key = os.getenv('API_KEY')
api_secret = os.getenv('API_KEY_SECRET')
bearer_token = os.getenv('BEARER_TOKEN')
access_token = os.getenv('ACCESS_TOKEN')
access_token_secret = os.getenv('ACCESS_TOKEN_SECRET')

client = tweepy.Client(bearer_token, api_key, api_secret, access_token, access_token_secret)

auth = tweepy.OAuth1UserHandler(api_key, api_secret, access_token, access_token_secret)
api = tweepy.API(auth)

class IDPrinter(tweepy.StreamingClient):
    def on_tweet(self, tweet):
        print(tweet.text)

printer = IDPrinter(bearer_token)

# 清除旧规则
existing_rules = printer.get_rules()
if existing_rules.data:
    rule_ids = [rule.id for rule in existing_rules.data]
    printer.delete_rules(rule_ids)

# 添加精确匹配规则
printer.add_rules(tweepy.StreamRule('"python"'))
printer.add_rules(tweepy.StreamRule('"programming"'))
printer.add_rules(tweepy.StreamRule('"software"'))

# 验证规则
added_rules = printer.get_rules()
print("当前生效规则:", [rule.value for rule in added_rules.data])

printer.filter()

内容的提问来源于stack exchange,提问作者Arife Elif Şen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:08:17